我正在创建一个社交网络,这个脚本是一个搜索功能。
$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个值…当有更多的用户在其中包含a(当我搜索多于一个时,它给我没有输出)。
strpos可能返回0,这是有效的(意味着字符串以搜索短语开始),但它不会通过if(strpos($user, $search))
检查。
考虑添加if(strpos($user, $search) !== false)
也删除按位或|
,并将其替换为逻辑或||
。