簡體   English   中英

在數組中找到密鑰時是否可以獲取密鑰?

[英]Is it possible to get the key when it is found in array?

如果在不區分大小寫的搜索中找到鍵,是否有更好的方法從數組中獲取鍵?

我需要的代碼邏輯如下:

<?php
$search = "foo";
$array = array('Foo' => 1, 'Boo' => 2);

if (array_key_exists($search, array_map('strtolower', $array)))
    return "Foo";
?>

我想改進的方法:

<?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));

我相信您正在尋找這種方法。

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM