array_walk 没有帮我散步
array_walk not doing the walk for me
当我将数组作为额外参数传递给 array walk 时,它没有像我预期的那样得到解释。
function boom($item, $z )
{
print_r("\n".$item);
print_r("\n".$z);
}
$z=[ "alpha", "bravo" ];
$x=[ "one", "two" ];
array_walk( $x, 'boom', $z );
输出:
one
0
two
1
为什么要打印零和一?
为什么我不打印 alpha 和 bravo?如何在输出中包含 alpha 和 bravo?
谢谢!
您必须更改代码以将 $z 作为第三个参数传递,如下所示:
function boom($item, $i, $z )
{
print_r("\n".$item);
print_r("\n".$z[$i]);
}
$z=[ "alpha", "bravo" ];
$x=[ "one", "two" ];
array_walk( $x, 'boom', $z );
您可以在这里找到更多信息:http://php.net/manual/en/function.array-walk.php
If the optional userdata parameter is supplied, it will be passed as
the third parameter to the callback.
当我将数组作为额外参数传递给 array walk 时,它没有像我预期的那样得到解释。
function boom($item, $z )
{
print_r("\n".$item);
print_r("\n".$z);
}
$z=[ "alpha", "bravo" ];
$x=[ "one", "two" ];
array_walk( $x, 'boom', $z );
输出:
one
0
two
1
为什么要打印零和一? 为什么我不打印 alpha 和 bravo?如何在输出中包含 alpha 和 bravo?
谢谢!
您必须更改代码以将 $z 作为第三个参数传递,如下所示:
function boom($item, $i, $z )
{
print_r("\n".$item);
print_r("\n".$z[$i]);
}
$z=[ "alpha", "bravo" ];
$x=[ "one", "two" ];
array_walk( $x, 'boom', $z );
您可以在这里找到更多信息:http://php.net/manual/en/function.array-walk.php
If the optional userdata parameter is supplied, it will be passed as the third parameter to the callback.