【发布时间】:2010-07-24 22:24:48
【问题描述】:
我有一个简单的脚本,它从表单中获取一个单词并评估它是否存在于文件 (.txt) 中。 txt 文件的每一行都有一个单词或短语。文件中没有 \t 或 \r。
但是,当我提交表单并 POST 文件中的第一个单词(例如“the”)时,以下脚本返回 false,而它应该返回 true。
我知道这一点,因为当我打印出数组 $file 时,我会进入屏幕:
Array
(
[0] => the
...
所以有问题……
$word = $_POST['word']);
// Get a file into an array.
$file = file('master.txt');
if (in_array($word, $file)) {
echo "true";
}
else {
echo "false";
}
echo "<pre>";
print_r($file);
echo "</pre>";
谁能告诉我这里哪里出错了,因为 file() 返回的数组看起来很干净,而 POST 字(“the”)是 file() 数组中的第一个值。我已检查以确保 POST 数据实际上也正确提交。
TIA。
【问题讨论】:
-
“the”是否在文件中的单独行上?
file()函数返回一个数组,其中的元素对应于文件中的每一行。