本机 PHP 函数获取知道数组数组中值的键

问题描述 投票:0回答:1

php 中有一个本机函数,它具有这样定义的数组:

$a = array ( 
   "row1" => array ( "col1" => "value1" ),
   "row2" => array ( "col2" => "value2" ),
   ...
   "rowN" => array ( "colN" => "valueN" ),
);

例如知道“valueN”得到“rowN”吗?我解决了使用双循环检查的问题,但有兴趣知道 PHP 中是否有一个本地函数可以做到这一点。 非常感谢。

php arrays
1个回答
0
投票

没有单一的原生函数可以迭代二维数组来搜索值并返回第二级键。要滚动您自己的函数,请使用嵌套循环和条件返回以获得最佳性能。

代码:(演示

$a = [ 
   "row1" => ["col1" => "value1"],
   "row2" => ["col2" => "value2"],
   "rowN" => ["colN" => "valueN"],
];

function getKeyOfFirstValue(array $haystack, $needle) {
    foreach ($haystack as $row) {
        foreach ($row as $key => $value) {
            if ($value === $needle) {
                return $key;
            }
        }
    }
    return null;
}

var_export(getKeyOfFirstValue($a, 'value2'));
© www.soinside.com 2019 - 2024. All rights reserved.