php - 如何搜索指针与值不完全匹配的 PHP 数组?

标签 php arrays

我正在使用 array_search 查找特定值的键。
示例 1 成功地在数组中搜索单词 green,但示例 2 试图找到 green,其中 Light Green 是数组中的一个值,但它不起作用。

谁能推荐一种方法来做到这一点?

//Example 1
$array = array(0 => 'Green', 1 => 'Blue', 2 => 'Black', 3 => 'Yellow');

$key = array_search(strtolower('green'), array_map('strtolower', $array));
//displays 0
echo $key;

//Example 2
$array = array(0 => 'Light Green', 1 => 'Blue', 2 => 'Black', 3 => 'Yellow');

$key = array_search(strtolower('green'), array_map('strtolower', $array));
//should display 0 but displays nothing.
echo $key;

最佳答案

使用array_filter() :

$array = array(0 => 'Light Green', 1 => 'Blue', 2 => 'Black', 3 => 'Yellow');

$search= 'green';
$key   = key(array_filter($array, function($x) use ($search)
{
   return false!==stripos($x, $search);
}));

-注意,上面的代码不会检查传递的搜索字符串是“word”。 IE。 3 ellow

关于php - 如何搜索指针与值不完全匹配的 PHP 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21934525/

相关文章:

python - 查找 3D 数组满足多个条件的索引位置

php - 从 mysql 计算平均评分并将其显示为图表

php - Behat 外部文件中的步骤定义

javascript - Laravel Ajax 面板

javascript - 单击按钮时如何清除标签?

javascript - Promise + 数组中未定义 'this'。减少()

arrays - 从数组创建 channel

ruby - 填充稀疏数组

java - 零长度数组的 JVM 优化

php - 如何创建受密码保护的 pdf 文件