我正在创建一个社交网络,这个脚本是一个搜索功能。
$username = $_SESSION['username'];
$search = $_POST['search'];
//strpos($user,$search)
$path = "../database/users";
$users = scandir($path);
$output = array();
$count = 0;
foreach($users as $user) {
if ("$user" !== ".." || "$user" !== "." | "$user" !== "$username") {
if(strpos($user, $search)) {
$count = $count + 1;
array_push($output, $user);
}
}
}
现在我想知道为什么它在输出数组中只给出了1个值... wenn有更多用户使用a(当我搜索多个时它没有输出)。
答案 0 :(得分:1)
strpos可能会返回0,这是有效的(表示字符串以搜索短语开头),但它不会通过if(strpos($user, $search))
检查。
考虑添加if(strpos($user, $search) !== false)
。
同时删除按位或|
并将其替换为逻辑或||
。