如何在php中循环一个多维数组


How to loop through a mulitdimensional array in php?

array(2) {
    ["names"]=> array(4) { 
        [0]=> string(4) "Edit" 
        [1]=> string(6) "Delete" 
        [2]=> string(8) "Activate" 
        [3]=> string(10) "Deactivate"
    } 
    ["action"]=> array(4) { 
        [0]=> string(4) "ajax" 
        [1]=> string(4) "abc" 
        [2]=> string(4) "def" 
        [3]=> string(4) "xyz" 
    } 
} 

我如何在一个foreach循环中通过这个循环?

假设两个数组大小相同,键值相同:

foreach($array['names'] as $k => $name) {
    $action = $array['actions'][$k];
    // do whatever you want to do with $name and $action
}
$newArr = array();
foreach($data['names'] as $i => $val) {
   $newArr[$val] = $data['actions'][$i];
}

或者如果你想要一行

$newArr = array_combine($data['names'], $data['action']);

我想最好的方法是递归函数,它甚至可以在三维或更多的空间中移动

function MoveThroughArray($arr)
{
    foreach($arr as $value)
    {
        if(is_array($value))
            MoveThroughArray($value);
        else
            // Do Something
    }
}