[英]PHP - Get key of Associative Array
I have an array 我有一个数组
Array(
[32] => ki
[97] => Array
(
[0] => l$
[1] => ml
[2] => 8e
)
[98] => fp
[99] => @w
[100] => lf
)
if I do array search for example: 如果我做数组搜索例如:
echo array_search("fp", $array);
the output will be "98". 输出将为“ 98”。 How can I get the key if im looking for a value inside another array like "ml"?
如果即时通讯正在另一个数组(例如“ ml”)中寻找值,该如何获取密钥? I wanted to get "97" if i search for value "ml".
如果我搜索值“ ml”,我想得到“ 97”。
I don't think there is such function for multi arrays 我认为多数组没有这种功能
If you want to do it in a loop try: 如果要循环执行,请尝试:
foreach($array as $key => $value)
{
if(is_array($value))
{
$subarray = $value;
foreach($subarray as $subvalue)
{
if($subvalue == 'ml')
{
echo $key;
break 2;
}
}
}
else
{
if($value == 'ml')
{
echo $key;
break;
}
}
}
You could write an alternate recursive array_search
function like this: 您可以编写一个替代的递归
array_search
函数,如下所示:
function recursive_array_search($needle, $haystack, $parent_key = null) {
foreach($haystack as $key => $value) {
$current_key = $parent_key ? $parent_key : $key;
if($needle === $value || (is_array($value) && recursive_array_search($needle, $value, $current_key) !== false)) {
return $current_key;
}
}
return false;
}
And call it like echo recursive_array_search("ml", $array);
并像
echo recursive_array_search("ml", $array);
一样echo recursive_array_search("ml", $array);
Based on http://php.net/manual/en/function.array-search.php#91365 基于http://php.net/manual/en/function.array-search.php#91365
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.