繁体   English   中英

PHP多维数组按值搜索关键字

[英]PHP multidimensional array search key by value

例如多维array如下例所示

$arr = array(

 [H1] => array(
            "name" => "A"
            "title" => "T1"
      )
 [H2] => array(
           "name" => "B"
           "title" => "B1"
      )
)

假设我想在$arr搜索等于A name ,如果匹配,则搜索应返回键H1

如何在php中做到这一点?

我尝试了array_keys($arr, "A")但是它返回的是数组而不是键。

这可能会帮助-

$arr = array(

 'H1' => array(
            "name" => "A",
            "title" => "T1",
      ),
 'H2' => array(
           "name" => "B",
           "title" => "B1",
      )
);

// Generate a new array with 'keys' and values in 'name'
$new = array_combine(array_keys($arr), array_column($arr, 'name'));

// Search in that new array
$search = array_search('A', $new);

var_dump($search);

产量

string(2) "H1"

演示

另一种简单的方法是-

$serach= false;
foreach($arr as $key => $val) {
   if($val['name'] == 'A') {
       $search= $key;
       break;
   }
}
var_dump($search);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM