我想在函数中最小化嵌套的foreach循环。但问题是,我使用的是2D数组,如下所示:
$Multi_Array = array (
'Users' => array ('User1', 'User2'),
'Passwords' => array ('Pass1', 'Pass2'),
'Warnings' => array (1, 30),
'Admin' => array ('True', 'False')
);
我目前有两个foreach循环来处理我的数组。如何最小化嵌套的foreach循环并仅使用1?
答案 0 :(得分:0)
我能想到的唯一方法是在函数中创建foreach语句,然后让它检查它是否是使用is_array()的数组,并且在true时,它会将数组传递给函数。
function check_array($array){
foreach ($array as $key=>$value){
if(is_array($value)){
check_array($value);}
else { ...do something with $value...}
}
答案 1 :(得分:0)
我不确定这是不是你想要的,但是这样的事情怎么样:
for ($i=0;$i<count($Multi_Array['Users']);$i++)
{
$users[$Multi_Array['Users'][$i]]['Password'] = $Multi_Array['Passwords'][$i];
$users[$Multi_Array['Users'][$i]]['Warning'] = $Multi_Array['Warnings'][$i];
$users[$Multi_Array['Users'][$i]]['Admin'] = $Multi_Array['Admin'][$i];
}
这不是预告,但它是1循环。