1
下面的代碼:PHP in_array()只能在嵌套如果
$result = $conn->query("SELECT * FROM $myTable");
while($result && ($row = $result->fetch_assoc()) && in_array($row['id'], $accessible_ids)){
// do something
}
不會做的事,而這個小修改:
$result = $conn->query("SELECT * FROM $myTable");
while($result && ($row = $result->fetch_assoc())){
if(in_array($row['id'], $accessible_ids)){
//do something
}
}
請問什麼。 $accessible_ids
來自這裏:
$result = $conn->query("SELECT id FROM $someTable WHERE userID = $userID");
$accessible_ids = array();
while($result && ($row= $result->fetch_assoc())){
$accessible_ids[] = $row['id'];
}
但是:如果$accessible_ids
包含元素 '1' 而已,這兩個代碼工作。但一旦$accessible_ids
包含「2」和「3」,只有較低的代碼適用於我。
我只想知道爲什麼這是一件事,我做了什麼值得擁有。 (查找原因,我花了一段時間,我在使用PHP 7和XAMPP)
更新:
輸出示例:
print_r($accessible_ids);
$result = $conn->query("SELECT * FROM $myTable");
while($result && ($row = $result->fetch_assoc())){
if(in_array($row['id'], $accessible_ids)){
//do something
echo '<br>';
print_r($row['id']);
}
}
產地:
Array ([0] => 2 [1] => 3)
2
3
你能分享的'的print_r($ accessible_ids)'和'的print_r($行[ '身份證'])'樣? –