数组可以嵌套在php中吗?
我的意思是: 看来这是行不通的。代码只在“点1”中运行,而从不在“点2”中运行 这是一个php错误吗 谢谢大家 我找到了原因,我必须在第一个anonymos函数定义中使用“use(&$arr2)”,然后内部anonymos函数可以使用这个变量 我的php版本是5.6它适用于:数组可以嵌套在php中吗?,php,arrays,Php,Arrays,我的意思是: 看来这是行不通的。代码只在“点1”中运行,而从不在“点2”中运行 这是一个php错误吗 谢谢大家 我找到了原因,我必须在第一个anonymos函数定义中使用“use(&$arr2)”,然后内部anonymos函数可以使用这个变量 我的php版本是5.6它适用于: array_walk($arr1,function(){ //point 1 array_walk($arr2,function(){ //point 2
array_walk($arr1,function(){
//point 1
array_walk($arr2,function(){
//point 2
});
});
$arrayFirst=数组(
'ID'=>1,
“名称”=>“第一个数组”
);
数组_walk($arrayFirst,函数(){
echo“;打印(“第一次行走”);echo“;
$arr1 = array("1", "2");
$arr2 = array("22", "432");
/*
* Specify the second walkway array as the
* reference param of the callback function
* if you want to manipulate it. Otherwise,
* just pass $arr2.
*/
array_walk($arr1, function ($item1, $key, &$arr2) {
// Point 1
echo "$item1<br>";
array_walk($arr2, function ($item2, $key1) {
// Point 2
echo "$item2<br>";
});
}, $arr2); // Pass the other array to walk in within the walkway
$arraySecond=数组(
'ID'=>1,
“名称”=>“第二个数组”
);
数组_walk($arraySecond,函数(){
echo“;打印(“第二次行走”);echo“;
$arr1 = array("1", "2");
$arr2 = array("22", "432");
/*
* Specify the second walkway array as the
* reference param of the callback function
* if you want to manipulate it. Otherwise,
* just pass $arr2.
*/
array_walk($arr1, function ($item1, $key, &$arr2) {
// Point 1
echo "$item1<br>";
array_walk($arr2, function ($item2, $key1) {
// Point 2
echo "$item2<br>";
});
}, $arr2); // Pass the other array to walk in within the walkway
});
});
试试这个:
1
22
432
2
22
432
但是你为什么要这么做呢?小提示:看看回调的第一个音符parameter@Andrew只是一个嵌套的loops@Rizier123是的,我已经找到了原因,我必须在anonymos函数定义中使用“use”,比如“use(&$arr2)…”@lovespring对于嵌套循环,使用array walk recursive,而这个代码片段可以解决这个问题,代码外确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性@Amit.S谢谢你,Amit.S!你真的检查了内部函数中的$arr2吗?@lovespring对不起,你所说的检查是什么意思?你需要先传递数组,然后再遍历回调函数fn。如果这对你有帮助,请接受答案