gpt4 book ai didi

php - 检查数组键是否存在,不区分大小写

转载 作者:行者123 更新时间:2023-12-04 16:46:57 32 4
gpt4 key购买 nike

我试图在 中找到正确的检查方法不区分大小写 方式,如果数组键存在。

我有一个数组 - 一个 HTTP header 列表:

$headers = [
'User-Agent' => 'Mozilla',
];

基本上,我希望能够给出这样的东西(带有小字符“u”):
$keyExists = array_key_exists('user-Agent', $headers);

并接收 bool 值 true申请 var_dump 时:
var_dump($keyExists); // I need TRUE to be returned.

感谢您的帮助。

最佳答案

您可以使用 array_change_key_case()将所有大小写转换为小写,并检查 array_key_exists() 中的小写键. array_change_key_case()默认情况下将所有键更改为小写(但您也可以将它们更改为大写,方法是将 CASE_UPPER 提供给第二个参数 - CASE_LOWER 是默认值)。

这当然意味着当您将它传递给 array_key_exists() 的第一个参数时,您要查找的键必须是小写的。 .你通过一个变量,你可以使用 strtolower()以确保它是。

$headers = array(
'User-Agent' => 'Mozilla',
);
$headers = array_change_key_case($headers); // Convert all keys to lower
$keyExists = array_key_exists('user-agent', $headers);
var_dump($keyExists);

值得注意的是,如果您有多个键在小写时变得相同(例如,如果您将 Foofoo 作为原始数组中的键),则只保留数组中的最后一个值。正如手册中所读:“如果一个数组的索引在运行此函数时相同(例如“keY”和“kEY”),则数组中后面的值将覆盖其他索引。”
  • Live demo
  • PHP.net on array_change_key_case()
  • 关于php - 检查数组键是否存在,不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46256796/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com