Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组搜索与第一个键不匹配_Php_Arrays - Fatal编程技术网

Php 数组搜索与第一个键不匹配

Php 数组搜索与第一个键不匹配,php,arrays,Php,Arrays,如果数组1的项在数组2中,我必须查看数组并想查看 我使用foreach遍历我的array2并使用array\u搜索每个项目(如果是array1) 除了数组搜索总是在第一个匹配的键上返回false之外,一切都正常。第一个匹配键是数组2的哪个索引并不重要 我做了一些研究,但什么都没用 即使是strict参数在我的代码中也不起作用 $array1 = ["K", "L", "M"]; $array2 = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"

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

我使用foreach遍历我的array2并使用array\u搜索每个项目(如果是array1)

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

我做了一些研究,但什么都没用

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

$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>";
    }
如果我将数组1更改为
[“B”、“C”、“D”]
,则输出为:

A

B

C
TRUE

D
TRUE

E

F

G

H

I

J

K

L

M

我做错了什么?

您需要像这样更改代码:

if(array_search($data, $array1) === false) {
   echo "false<br>";
}

输出:

在数组函数中使用

试试看

$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(in_array($data, $array1)) {
            echo "TRUE<br>";
        }

        echo "<br>";
    }
$array1=[“K”、“L”、“M”];
$array2=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”];
foreach($array2作为$data){
echo$数据。“
”; if(在数组中($data,$array1)){ 回声“真的
”; } 回声“
”; }
if(array\u search($data,$array1)?“TRUE”中的语法不好:“FALSE”==FALSE)因为您没有与
array\u search
进行比较,因此当您与
K
进行比较时,您会得到
0
,这是错误的。将其更改为
if(array\u search($data,$array1)!==false?“TRUE”:“false”)
是的,您是对的,谢谢。谢谢!如此明显:——)
foreach($array2 AS $data) {
   echo $data .PHP_EOL. (array_search($data, $array1) !== false ? "true" : "false").PHP_EOL;
   echo PHP_EOL;
}
$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(in_array($data, $array1)) {
            echo "TRUE<br>";
        }

        echo "<br>";
    }