从多维数组中获取键和父键

时间:2015-04-24 10:05:21

标签: php arrays

下面是一个数组



 [338] => Array
     (
         [0] => Array
             (
                 [ws_id] => Resource id #7                     
             )

         [1] => Array
             (
                 [ws_id] => Resource id #8                    
             )             

     )

 [314] => Array
     (
         [0] => Array
             (
                 [ws_id] => Resource id #10                     
             )

         [1] => Array
             (
                 [ws_id] => Resource id #12                     
             )

     )




假设我有值"资源ID#8"从中我想得到它的关键1和父键即338.I我已经知道如何使用foreach循环实现它。我希望得到一种简单的方法来减少编码。

感谢。

1 个答案:

答案 0 :(得分:1)

可以使用array_search()方法搜索一维数组。但是你必须首先在第一个(或n-1)维上循环一个多维数组。

array_search contains a comment的PHP文档页面,其方法如下:

<?php
function recursive_array_search($needle,$haystack) {
    foreach($haystack as $key=>$value) {
        $current_key=$key;
        if($needle===$value OR (is_array($value) && recursive_array_search($needle,$value) !== false)) {
            return $current_key;
        }
    }
    return false;
}
?>
相关问题