私のテーブルのフィールドステータスはNULLです[デフォルト]、または0または1です。それから、PHP var $ statusに割り当てます。値がNULLの場合、アイコンが表示されず、値が0の場合はグレーのチェックイメージが表示され、値が1の場合は緑のチェックイメージが表示されます。php nullが0、ゼロが0である必要があります
問題は、NULL値はグレーのチェック画像を示し、0はチェック画像を表示しません。どういうわけかNULLと0は同じですが、一方向にしかありません。私が意味するものは、varがヌルではなくヌルではなくヌルであるが、ゼロでないかどうかを条件付きでテストするかどうかにかかわらず、それらは誤って解釈されます。それは紛らわしい。 NULLを維持し、0を別個に区別するための簡単なストレートフォワード方法がなければなりません。私は値つかむ:
$status = $Card['status']; //from above array.
if ($status == 1) {
$status = '1';
} else if ($status == 0) {
$status = '0';
} else if ($status === NULL) {
$status = 'NULL';
}
その後、私はしようとしていますすべてで、灰色、緑、またはnoneのいずれかの画像を表示するが、この:私は「」の値の周りには必要ありません知っている
if ($status == '1') {
echo "<img src='../images/status_check_green.png' />";
} else if ($status == '0') {
echo "<img src='../images/porc_check_gray.png' />";
} else if ($status == 'NULL') {
echo "<img src='' />";
}
}
しかし、私は有効な比較を強制するためにすべてをリテラル化しようとしています。誰かが自分のコードを解読しようとする必要はないでしょう。 NULLを維持する方法と0を分ける方法を解明することです。それは私がここで何か基本的なものを欠いているようなものです。 btw、私はPHPのvarとjs varを詰める、それは正しい値を取得します。彼らはちょうど私がそれらを必要とするように比較に従っていない。
アイデア?
いつも '==='を使うか、 '0'をチェックする前に' NULL'をチェックすることができます。 –
'空'と 'is_null'おそらく助けるかもしれませんか? – RamRaider