如果我有两个数组,一个是一维数组,第二个是未定义的深度多维数组。 如果密钥匹配并且它不是可迭代的实例,我想在两个字段上执行函数。
第一个数组是这样的
$array = array(
"st" => "1",
"gr" => "2",
);
第二个......
$array = array(
"foo" => "bar",
"bar" => array(
"st" => "fr",
"gr" => "et",
),
);
实现这一目标的最快方法是什么? 我有什么关于。
foreach (array as key => value) {
recursiveLoop($multidemsnionalArray, $key, $value)
}
function recursiveLoop($multidemsnionalArray, $key, $value){
foreach ($multidemsnionalArrayas as $key2 => $value2) {
if (is_array($value2) or ($value2 instanceof Traversable)){
recursiveLoop($value2, $key, $value);
}
else{
//do the Foo
}
}
}
这是非常低效的,时间将根据第一个数组的长度乘以第二个数组的长度。 我最好这样做还是尝试其他的东西?