嵌套数组中的 Search_array

2022-01-07 00:00:00 arrays nested key php

我有一个带有嵌套数组的数组,我试图使用 *search_array* 函数来筛选数组并将它们的键还给我.它一直没有工作.代码如下:

I've got an array with nested arrays, and I was trying to use the *search_array* function to sift through the array and give me back their keys. It hasn't been working. Here's the code:

<?php 
$array = array(
   'cat1' => array(1,2,3),
   'cat2' => array(4,5,6),
   'cat3' => array(7,8,9),
);

foreach($array as $cat){
   if(is_array($cat)
      echo array_search(5,$cat); //want it to return 'cat2'
   else
      echo array_search(5,$array);
}

谢谢!

推荐答案

如果你总是有一个二维数组,那么就这么简单:

If you always have a two-dimensional array, then it is as easy as:

function find($needle, $haystack) {
    foreach($haystack as $key=>$value){
       if(is_array($value) && array_search($needle, $value) !== false) {
          return $key;
       }
    }
    return false;
}

$cat = find(5, $array);

相关文章