我有以下代码。我要做的是构建一个包含所有值的数组,然后使用array_unique除去重复项。但是,它创建了多个数组,如下所示:
数组([0]=> 153)数组([0]=> 125[1]=> 153)数组([0]=>[1] => 1)
当我想要的是
[0] => 153 [1] => 125 [2] => 153 [3] => 167 [4] => 125
public function __construct()
{
$cat_arr = array();
$merged = array();
$cat = ee()->TMPL->fetch_param('cat', '0');
if($cat !== "0")
{
$cat_arr[] = $cat;
$result = ee()->db->select('parent_id')
->from('exp_categories')
->where('cat_id',$cat)
->get();
$parent = $result->row('parent_id');
if($parent !== "0")
{
$cat_arr[] = $parent;
}
}
print_r($cat_arr);
//Array ( [0] => 153 ) Array ( [0] => 125 [1] => 153 ) Array ( [0] => 167 [1] => 125 )
}
如果有人能提供任何解决方案,我将不胜感激。
您的代码没有问题。问题是您正在循环中运行print_r。将print_r移到末尾,您将看到您的数组正按照您想要的方式生成。