php - in_array() 不工作

标签 php html

我的代码:

<?php

$pass = "12345";

//checkPass($pass, $user, $length);
$file = file_get_contents("common.txt");
$array = explode("\n", $file);
if(in_array($pass, $array) == true) {
 echo "it's in the array";
}
?>

数组的前几行(我使用了 print_r($array)...):

Array ( [0] => 12345 [1] => abc123 [2] => password [3] => computer [4] => 123456 
[5] => tigger [6] => 1234 [7] => a1b2c3 [8] => qwerty [9] => 123 [10] => xxx 
[11] => money [12] => test [13] => carmen [14] => mickey [15] => secret 
[16] => summer [17] => internet [18] => service [19] => canada [20] => hello 
[21] => ranger [22] => shadow [23] => baseball [24] => donald [25] => harley 
[26] => hockey [27] => letmein [28] => maggie [29] => mike [30] => mustang 
[31] => snoopy

最佳答案

如果您的文件使用 Windows 换行符(行以 \r\n 结尾),您将在每个字符串的末尾得到一个不可见的 \r 字符.通过在其中一个上运行 strlen() 来测试它:

echo $array[0] . ': ' . strlen($array[0]) . ' chars';

如果你得到类似的东西

12345: 6 chars

你知道这就是问题所在!使用 array_map() 展开数组后,您可以删除这些字符与 trim() :

$array = array_map('trim', $array);

关于php - in_array() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732853/

相关文章:

javascript - html 只需单击即可选择多个选项,而无需按 CTRL 按钮

php - mongo 搜索大量 mongo id

php - 警告 : Division By Zero Working on PHP and MySQL

html - 居中对齐图像持有人中的文本

javascript - HTML 文本区域防止某些文本被删除

HTML输入文本框鼠标拖动上下滚动

javascript - Ajax 调用后端 PHP 脚本不工作

php - 通过 $var::$reference 访问静态变量

php - wp.​​template for front end templating in WordPress how to write for each loop

html - 行内横线