无法从数组执行简单的数组搜索

时间:2016-08-01 16:58:42

标签: php html arrays search

我有一个失败的程序,因为它没有在搜索数组时找到$post,所以它每次都会继续添加。我使用了使用foreach循环的其他建议方法,strpos,例如: if (strpos($data, $posts) !== false),这将找到$post,但它也会找到其余的并运行数据/数组中的所有内容。因此,为什么我只想搜索数组,如果没有添加它,如果是,只是说它在那里或签入...我花了3天时间使用in_array,{{1}等等,现在我正在寻求帮助......

array_search

tclient.html

<html>
<body>
<?php 
$post = $_POST['name'];
$data = file("data.txt");
if (in_array($post, $data)) {
    echo "$post is checking in...";
}
else {
    echo "Adding to $data...";
    $data = fopen("data.txt", "a+");
    fwrite($data, $post.PHP_EOL);
    fclose($data);
}
$data = file("data.txt");
foreach ($data as $d) {
    echo $d;
}

?>

</body>
</html>

data.txt中

<html>
<body>

<form action="test4.php" method="POST">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

$post中的值可能最后没有新行。使用file()时,您可以指定不包含新行。

file("data.txt", FILE_IGNORE_NEW_LINES);