我有一个二维数组,其中包含有关parent-cateogries(parent=1
)的信息。以下是此数组的print_r()
:
Array
(
[0] => Array
(
[id] => 2
[title] => parent2
[content] => this is an example
[avator] =>
[thumnail] =>
[parent] => 1
[parent_id] => 8
)
[1] => Array
(
[id] => 3
[title] => THISPARENT
[content] => A NOTE
[avator] =>
[thumnail] =>
[parent] => 1
[parent_id] => 12
)
)
在这个阵列中我有两个父母。其中只有一个已经在数据库表中有一个子节点,所以当我在数据库中搜索一个子节点时,parent_id应该是两个中的一个,逻辑结果应该是一个包含一个子类别信息的数组,而它返回两个数组,其中一个是空的。
我使用上面的loop
使用上述父级别的ID搜索数据库:
for($i=0; $i<count($cats); $i++)
{
$this->db->where("parent_id", $cats[$i]['id']);
$res = $this->db->get("category");
$x[$i] = $res->result_array();
}
现在,我收到的结果是:
Array
(
[0] => Array
(
)
[1] => Array
(
[0] => Array
(
[id] => 1
[title] => child
[content] => childparent it is
[avator] =>
[thumnail] =>
[parent] => 0
[parent_id] => 3
)
)
)
虽然不应该有一个空的零索引数组,但我只希望在数组上接收我已经作为第二个索引,第一个空!为什么呢?
提前致谢
答案 0 :(得分:0)
由于
,您正在接收零索引数组$x[$i] = $res->result_array();
尝试将其更改为
$results = $res->result_array();
if (is_array($results) && count($results)>0) {
$x[$i] = $results;
}
然后它应该跳过零索引和所有空数组。