php 中有一个本机函数,它具有这样定义的数组:
$a = array (
"row1" => array ( "col1" => "value1" ),
"row2" => array ( "col2" => "value2" ),
...
"rowN" => array ( "colN" => "valueN" ),
);
例如知道“valueN”得到“rowN”吗?我解决了使用双循环检查的问题,但有兴趣知道 PHP 中是否有一个本地函数可以做到这一点。 非常感谢。
没有单一的原生函数可以迭代二维数组来搜索值并返回第二级键。要滚动您自己的函数,请使用嵌套循环和条件返回以获得最佳性能。
代码:(演示)
$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'));