这是将一个数组推入另一个数组的正确方式吗?此外,所有数组推送都需要两个参数吗?
$edge = array( "nodeTo" => "$to");
array_push( $node["adjacencies"], $edge);
这是将一个数组推入另一个数组的正确方式吗?此外,所有数组推送都需要两个参数吗?
$edge = array( "nodeTo" => "$to");
array_push( $node["adjacencies"], $edge);
函数定义需要两个参数。 您至少需要被推入的元素和要推动的内容。注意: 如果您使用 array_push() 将一个元素添加到数组中,最好使用 $array[] = ,因为这样不会产生调用函数的额外开销。
array_push
的真正设计是同时推送/附加多个元素。array_push 函数会将您提供的内容作为目标数组的新元素添加到最后。
因此,您的示例会将一个新数组添加到 $node["adjacencies"] 的末尾,这将是您的节点连接数组。对于您的示例,我认为您想要使用
$node["adjacencies"] += $edge
来正确组合邻接图。
$node['adjacencies']
是一个数组,那么这是正确的方法。也可以使用$node['adjacencies'][] = $edge
。 - Michael Berkowskiarray_push()
总是需要至少2个参数,否则就没有意义。但数组追加语法更好看。$array[] = $thing_to_append;
- Michael Berkowski"$to"
,只需写成$to
即可。 - nickb