私はパートナーのphpコードを見直していますが、次のようなものです:
function query_db($form)
{
$result = (int)false;
try{
$sqlQuery = " SELECT id_user, id_access, name, email, status FROM users ";
$sqlQuery .= " WHERE id_access> 0 ";
if($form->get("limit")){
$sqlQuery .= " LIMIT ".$form->get("start")." , ".$form->get("registry");
}
$query = $this->db->query($sqlQuery);
return $query;
} catch (Exception $e) {
$result = (int)false;
}
return $result;
}
だから最初に彼は$result = (int)false;
この指示を調査していたところ、次のことがわかりました。
文字列が空であるか、1 文字の 0 が含まれている場合にのみ、文字列は false に変換されます。その他のデータ (複数のゼロを含む) が含まれている場合は、true に変換されます。
数値または文字列に変換すると、ブール値は true の場合は 1 になり、そうでない場合は 0 になります。
質問に戻ります。
echo 0 + 1; // 1
echo false + 1; // 1
echo 0 > -1; // true
echo false > -1; // false
echo (int)false > -1; // true
では、なぜ彼がそれを使用する代わりにキャストするのか $result = 0;
、私にはわかりません。おそらくそれにはより深い意味があり、私はこれを見ていません。
だからこそ、あなたの意見をお聞きします。