搜索数组

时间:2016-04-08 10:55:56

标签: php arrays

我正在测试一个概念,看它是否适合以后更复杂的东西。

我有一个字符串和一个数组。我想搜索字符串以查看它是否包含数组中的任何值。当它发生时,我希望它从数组中回显键和匹配的值。我的代码就是这个。

<?php

$string = '[red,yellow,[blue,[green';
$colour = array ('red','blue','yellow','green');

foreach($colour as $key => $value){

    if(strpos($string,'['.$value)){
            echo $key." ".$value."<br>";
        }
    }

?>

我想,这应该返回与“[color”

相匹配的任何内容

我认为这会返回结果:

0 red
1 blue
3 green

返回

1 blue
3 green

有谁知道为什么它不会在[红色? [正好在字符串的开头?

1 个答案:

答案 0 :(得分:2)

strpos返回字符串位置,红色位于0位置 你应该改变你的条件:

if(strpos($string,'['.$value) !== false){

如果根本没有匹配则返回false