数组返回不需要的值-php

数组返回不需要的值-php,php,arrays,Php,Arrays,非常有趣的是,我的数组返回了一些我不想要的值,而且我从未将它们添加到数组中: foreach ($this->cart as $c) { if ($c['parent_id'] != 0) { $parent_id = $c['parent_id']; if(in_array($parent_id,$checked_parents)) { echo 'tru

非常有趣的是,我的数组返回了一些我不想要的值,而且我从未将它们添加到数组中:

    foreach ($this->cart as $c) {


        if ($c['parent_id'] != 0) {
            $parent_id = $c['parent_id'];

            if(in_array($parent_id,$checked_parents))
            {
                echo 'true';
            }else
            {

                echo 'parent=>'.$parent_id;
                echo '<br />';
                $checked_parents[] = $parent_id;
                $childes[] = array();
                foreach($this->cart as $c2)
                {


                    if($c2['parent_id'] == $parent_id)
                    {
                        $childes[$c2['id']] = $c2 ;
                        echo 'added'.$c2['id'];
                        echo '<br />';

                    }

                }


                foreach($childes as $k => $v)
                {

                    echo $k ;
                    echo '<br />';
                    if(!$k || $k == 0)
                        continue;
                  ...
                  //my other codes
                  ...
不需要的值:

0,3,4 
为什么要添加到我的阵列?

我刚刚更改了:

$childes[] = array();
致:


您在此处回显键
echo$k
但是
$k
不等于
$c2['id']
$childes[]=array()
这里不初始化数组,而是添加一个空数组。或者只实例化数组:
$childes=array()
$childes[] = array();
unset($childes);