所以我有这个简单的代码来获取每个产品,找到类型,并将其作为一个类别显示在我的网站中。
public function get_categories()
{
$products = $this->get_products();
$categories = array();
$i = '-1';
foreach($products as $product)
{
$name = ucfirst(strtolower($this->ci->inflect->pluralize($product['type'])));
if(!in_array($name, $categories))
{
$i++;
$categories[$i] = array(
'name' => $name,
'type' => strtolower($product['type']),
);
}
}
return $categories;
}
现在,它工作得很好,直到我需要将type
与name
一起传递,所以现在我正在制作一个多维数组。
现在显然name
永远不会在数组categories
中,因为它位于该数组中的另一个数组中。
如何检测数组name
内的数组中是否已存在categories
?
答案 0 :(得分:0)
$categories[$i] = array(
'name' => $name,
'type' => strtolower($product['type']),
);
更改为
$categories[$name] = array(
'name' => $name,
'type' => strtolower($product['type']),
);
并添加
foreach($categories as $key=>$val){
$out[$i] = $categories[$key];
}
或array_unique 或类似的(如下所述)
http://php.net/manual/en/ref.array.php
但我不确定我是否理解正确的道路
答案 1 :(得分:0)
你可以试试这个
将[$i]
更改为
$category[$name]
或
$i++;
if(!in_array($name, $categories[$i]))
{
$categories[$i] = array(
'name' => $name,
'type' => strtolower($product['type']),
);
}