[英]Is it possible to get the key when it is found in array?
Is there a better way to get a key from an array if it is found in case-insensitive search? 如果在不区分大小写的搜索中找到键,是否有更好的方法从数组中获取键?
The logic of the code I need is like below: 我需要的代码逻辑如下:
<?php
$search = "foo";
$array = array('Foo' => 1, 'Boo' => 2);
if (array_key_exists($search, array_map('strtolower', $array)))
return "Foo";
?>
Approach I would like to improve: 我想改进的方法:
<?php
if (array_key_exists($search, array_map('strtolower', $array)))
{
foreach($array as $k => $v)
{
if ($search == strtolower($k))
return $k;
}
unset ($k, $v);
}
?>
$a = ['a' => '1', 'b' => '2', 'C' => 3];
$search = 'c';
$result = array_filter($a, function($k) use ($search) {
return strtolower($k) != $search;
}, ARRAY_FILTER_USE_KEY);
var_dump($result);
$search = "foo";
$array = array('Foo' => 1, 'Boo' => 2);
function get_value($array, $search) {
foreach($array as $key => $value) {
if($search === strtolower($key)) {
return $value;
}
}
return null;
}
function get_key($array, $search) {
foreach($array as $key => $value) {
if($search === strtolower($key)) {
return $key;
}
}
return false;
}
echo get_value($array, $search);
var_dump(get_key($array, $search));
I believe you're looking for this approach. 我相信您正在寻找这种方法。
Hope it helps! 希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.