2010-01-03 86 views
0

我试图在匹配字符串的数组中找到键号。如何通过匹配字符串中的值来搜索数组键值

我这样

$key = array_search("foo", $array); 
echo $array[$key]; 

试图array_search但打印$数组[0]

是否有另一种方式做到这一点?

谢谢:)

+0

你正在寻找的是*正是*的值相匹配的搜索字符串?或者您的搜索字符串可以是您要查找的值的子字符串?一个用于搜索示例的数组示例会很有帮助。 – 2010-01-03 09:27:05

回答

2

如果找不到钥匙,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]; 
} 

否则,你的代码似乎做你所需要的。如果有问题,请发布更多代码。

0

我不完全匹配整个字符串,只有一部分,array_search仍然工作?

顺便说一句我是通过为每个做的preg_match,直到找到那么串打破循环和存储密钥一个数组的数组做了一个循环

相关问题