如何通过匹配字符串中的值来搜索数组键值
问题描述:
我试图在匹配字符串的数组中找到键号。如何通过匹配字符串中的值来搜索数组键值
我这样
$key = array_search("foo", $array);
echo $array[$key];
试图array_search但打印$数组[0]
是否有另一种方式做到这一点?
谢谢:)
答
如果找不到钥匙,array_search
回报false
。你必须检查(在我的例子中的第3行)
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search("green", $array); //the $key will be "2"
if ($key !== false) {
echo $array[$key];
}
否则,你的代码似乎做你所需要的。如果有问题,请发布更多代码。
答
我不完全匹配整个字符串,只有一部分,array_search仍然工作?
顺便说一句我是通过为每个做的preg_match,直到找到那么串打破循环和存储密钥一个数组的数组做了一个循环
你正在寻找的是*正是*的值相匹配的搜索字符串?或者您的搜索字符串可以是您要查找的值的子字符串?一个用于搜索示例的数组示例会很有帮助。 – 2010-01-03 09:27:05