2012-09-14 55 views
0

为什么我的$dropdown数组是空的?为什么我的数组是空的?

我没有复制$p跨越

 foreach($p as $pat) 
    { 
    print'<pre>'; 
    print_r($pat['name']); 
    print'</pre>'; 

    $c = Jojo::selectQuery("SELECT * FROM {cat} WHERE {parentid} =?", array($pat['categoryid'])); 

    foreach($c as $cat) 
    { 
     print'<pre> '; 
     print_r($cat['name']); 
     print'</pre>'; 
    } 

    $dropcat = array(); 
    $dropcat[$cat[$pat['categoryid'][0]] = $pat['id']]; 

    print_r($dropcat); 
} 
+0

@大卫这是我的工作帐户,所以我知道去的:) –

回答

0

这很可能是一个括号问题?

$dropcat[$cat[$pat['categoryid'][0]] = $pat['id']]; 
// Should be 
$dropcat[$cat[$pat['categoryid'][0]]] = $pat['id']; 

但很难一LITTEL跟随正好不知道的内容和$猫和$拍,因为我觉得那些真正有内容的,你期待的 - 他们是预示了从foreach循环的最后一个项目。

+0

我怎样才能让它拥有所有物品? –

+0

$ cat&$ pat是sql数组 –

+0

在这种情况下,我怀疑$ pat是一个二维数组 - $ pat ['category_id'] [0] ?!或者你的意思是$ p [0] ['category_id']? $ cat和$ pat是$ p和$ c中的最后一行 - 这个_could_是你想要的(受到$ pat为一个二分,而不是二分)。这是你想要的吗?我无法看到你想要做什么的逻辑。使用“echo”和print_r()来检查你在哪里。然后从那里建立起来。 – Robbie

0
$dropcat = array(); 
print_r($dropcat); 

这些都是你的第一foreach循环内,导致它被清空循环的每个迭代。删除第一行并将第二行放在花括号后面,然后重试。

+0

firstline = array()? –

+0

这是重新声明数组,在'foreach'循环中你不想要的东西。 – David