2013-03-31 70 views
0

如何推动数组内的“邻接”键值对应该有一个封装数组保持“数组”(即数组(“”节点“=>”$到“),(”nodeTo“=>”$ to“))),而不会覆盖它们并将它们附加到”+ =“类似的位置。推动关键“邻接关系”似乎也没有提升价值。推动和相关数组到php中的关联数组

$node[] = array(
     "adjacencies" => array(), //inside this array should go all the arrays seprated by commas. 
     "data" => array(
       "color" => $color1, 
       "type" => $type1 
      ); 

// this push doesnt seem to detect the adjacencies value and doesnt really push the array inside of the container array. I also tried $node["adjacencies"][]=array("nodeTo" => "$to"); but it didnt work 
    $node["adjacencies"]=array("nodeTo" => "$to"); 



} 

回答

0

如果哟ü要多个阵列内'adjacencies',他们追加到数组的末尾:

$node[0]['adjacencies'][] = array("nodeTo" => "$to"); 

当然,你需要知道哪些$node指数一起工作(如果有多个节点)。

编辑:

阅读注释后,它看起来像OP的所需的阵列结构是这样的:

$node = array(
    'adjacencies' => array(), 
    'data' => array(
    'color' => $color1, 
    'type' => $type1, 
); 
); 

因此,额外的节点追加到adjacencies数组,你可以这样做:

$node['adjacencies'][] = array('nodeTo' => "$to"); 
+0

这里的'0'是什么? – zerkms

+0

'$ node [] = array(...)'意味着当一个数组被添加到'$ node'时,$ node [0]存在。 – Aiias

+0

是的,但事情是 - OP不想将它添加到第0个元素 – zerkms

0

通过您在第二个语句中使用$node的方式,我认为你的意思是:

$node = array(

不是:

$node[] = array(
// ^^ 

然后你就可以做俯卧撑数组:

$node['adjacencies'][] = array('nodeTo' => $to); 
+0

在这种情况下你是如何得到它的? – zerkms

+0

@zerkms,这是事实。请记住'$ node'已经是一个数组,因此你需要一个特定的键来访问元素。 – Shoe

+0

呃,什么?在你的代码中,'$ i'等于'null'。您的代码不会添加到“当前”元素,因为OP想要 – zerkms