我想从 1 个表中获取所有具有递归的 ID。我设法回显了这些变量,但是当我尝试将其放入数组时失败了。这是字符串版本:
public function get_numProducts($cid)
{
$this->db->select('cat_id');
$this->db->from('ci_categories');
$this->db->where('cat_child',$cid);
$q = $this->db->get();
$result = $q->result();
$i=0;
$a="";
foreach($result as $mainCategory)
{
$a .= $mainCategory->cat_id;
$a .= $this->get_numProducts($mainCategory->cat_id);
}
return $a;
}
使用参数“4”调用此函数时,我得到字符串输出:89。这很好。但我想输出一个数组(4,8,9)。感谢帮助
编辑:
第二版
public function get_numProducts($cid)
{
$this->db->select('cat_id');
$this->db->from('ci_categories');
$this->db->where('cat_child',$cid);
$q = $this->db->get();
$result = $q->row();
$n = $q->num_rows();
if ($n > 0)
{
$array[] = $result->cat_id." ";
$array[] = $this->get_numProducts($result->cat_id);
}
return $array;
}
此版本返回数组,但是是多维的:
array (size=2)
0 => string '8 ' (length=2)
1 =>
array (size=2)
0 => string '9 ' (length=2)
1 => null