array_search 与第一个键不匹配

如果数组 1 的项在数组 2 中,我必须排列并想查看。


我使用 foreach 遍历我的 array2 并使用 array_search 检查每个项目,如果它是数组 1。


一切正常,除了 array_search 总是在第一个匹配键上返回 false。第一个匹配键是数组 2 的哪个索引并不重要。


我做了一些研究,但没有任何效果。


即使是严格参数在我的代码中也不起作用。


$array1 = ["K", "L", "M"];

$array2 = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"];


    foreach($array2 AS $data) {

        echo $data."<br>";


        if(array_search($data, $array1) ? "TRUE" : "FALSE" === false) {

            echo "TRUE<br>";

        }


        echo "<br>";

    }

上面例子的输出是:


A


B


C


D


E


F


G


H


I


J


K


L

TRUE


M

TRUE

如果我将 array1 更改为["B", "C", "D"]输出:


A


B


C

TRUE


D

TRUE


E


F


G


H


I


J


K


L


M

我在做什么错?


FFIVE
浏览 180回答 2
2回答

当年话下

使用 in_array 函数尝试$array1 = ["K", "L", "M"];$array2 = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"];&nbsp; &nbsp; foreach($array2 AS $data) {&nbsp; &nbsp; &nbsp; &nbsp; echo $data."<br>";&nbsp; &nbsp; &nbsp; &nbsp; if(in_array($data, $array1)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo "TRUE<br>";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; echo "<br>";&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP