【发布时间】:2018-11-07 05:33:29
【问题描述】:
我使用 file() 将 .txt 文件中的单词插入到数组中。根据 var_dump() 值是字符串,而 print_r 给了我一个正常的一维数组。
$words = file('stopWords.txt');
//var_dump($words);
当我尝试类似:
if( in_array('able', $words) ) {
echo "match found";
}
什么也没发生,我试过用它制作一个测试数组,它工作正常。 $word 输出的数组中有 636 个元素。也许这有关系?尽管我对此表示怀疑,因为我已经尝试过使用更大的阵列并且它仍然有效。我不确定是什么导致了这种情况发生,它似乎只有这个特定的数组有问题。谁能帮帮我,谢谢。
【问题讨论】:
-
你能提供一个
var_dump($words);输出的例子吗? -
FILE_IGNORE_NEW_LINES- AKA 在每个数组元素的末尾省略换行符。able!=able\n或者换句话说$words = file('stopWords.txt',FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); -
数组真的很大,所以var_dump输出很多,你想要一个sn-p吗?
-
@ArtisticPhoenix 如何以及为什么会这样?!非常感谢
-
这很神奇。这是因为return有行尾,并且在数组中不模糊。