这是将数组推入另一个数组的正确方法吗?此外,是否所有数组推送都需要 2 个参数?
$edge = array( "nodeTo" => "$to");
array_push( $node["adjacencies"], $edge);
这是将数组推入另一个数组的正确方法吗?此外,是否所有数组推送都需要 2 个参数?
$edge = array( "nodeTo" => "$to");
array_push( $node["adjacencies"], $edge);
文档对此非常清楚:
注意:如果您使用 array_push() 向数组添加一个元素,最好使用 $array[] = 因为这样就没有调用函数的开销
函数定义列出了两个参数的要求。你至少需要推手和一些东西来推动。
array_push
真正设计用于同时推送/附加多个元素。
array_push 会将你给它的任何内容添加为目标数组末尾的新元素。
因此,您的示例将添加一个新数组作为 $node["adjacencies"] 的最后一个元素,这将是您的节点连接数组。对于您的示例,我相信您想使用
$node["adjacencies"] += $edge
正确组成邻接图