【发布时间】:2021-12-15 04:15:24
【问题描述】:
我有一个名为“list.txt”的纯文本文件,然后使用 file() 将其内容存储在变量 $array1 中。文本文件包含以下内容:
12088
10118
10182
12525
58162
11821
17533
10118
我还声明了另一个名为 $array2 的数组变量,其内容类似:
$array2 = array(
'12088',
'10118',
'10182',
'12525',
'58162',
'11821',
'17533',
'10118'
);
当我运行这个函数时,它什么也没有显示。
$needle = "12088";
if ( in_array($needle, $array1) ) {
echo 'Found in array1!';
}
但是,当我将它换成 $array2 时,脚本显示“在 array2 中找到!”。
下面是脚本的样子:
$array1 = file('list.txt');
$array2 = array(
'12088',
'10118',
'10182',
'12525',
'58162',
'11821',
'17533',
'10118'
);
$needle = "12088";
if ( in_array($needle, $array1) ) {
echo 'Found in array1!';
}
if ( in_array($needle, $array2) ) {
echo 'Found in array2!';
}
这两个数组有什么区别导致 $needle 在一个数组中找到,而不是在另一个数组中?
【问题讨论】:
-
你有多确定第一个是数组?
-
您是否对这些数组进行了 var_dump'ed 以查看内容?
-
我在两个阵列上都做了一个 var_dump。由于某种原因,$array1 的每个数据值的末尾都包含一个空格。文本文件“list.txt”在每行条目的末尾不包含任何空格。