获取PHP多维数组中指定键(key或下标)的值

获取PHP多维数组中指定键(key或下标)的值,并以数组格式返回

用标准PHP类库SPL里的ArrayIterator类,ArrayIterator类和ArrayObject类,只支持遍历一维数组。与之对应的RecursiveArrayIterator支持遍历多维数组,首先用 RecursiveIteratorIterator生成一个Iterator,然后再对这个Iterator使用 RecursiveArrayIterator。

  • 以下是参考代码
function searchMultiArray(array $array, $search, $mode = 'key') {
    $res = array();
    foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($array)) as $key => $value) {
        if ($search === ${${"mode"}}){
            if($mode == 'key'){
                $res[] = $value;
            }else{
                $res[] = $key;
            }
        }
    }
    return $res;
}

var_dump(searchMultiArray($arr, 's'));

你可能感兴趣的:(PHP相关,PHP,多维数组,php,Array)