0

いくつかのサッカーのスコア (ゴールの差) を含むデータベースがあります。

p12_score1には 3、-2、0、および NULL が含まれます

私がやりたいことは、すべてのスコア差 (0 を含む) を出力し、値のない行 (mysql の NULL) を無視することだけです。ただし、 is_null も値 0 を null と見なし、出力しません。

IF(!$p12_score1==NULL){
$equal[] = $p12_score1;
}
else {
echo "null";
}
print_r ($equal);
4

6 に答える 6

3

is_nullに等しい値を考慮しませ0null

コードは==比較に使用しますが、この区別はありません。同一の演算子 を使用する===か、is_null代わりに次のようにします。

// One way to do it:
if(!$p12_score1 !== NULL)

// Another:
if(!is_null($p12_score1))
于 2013-01-15T15:14:32.833 に答える
1

ただし、 is_null も値 0 を null と見なし、出力しません。

いいえ。http://codepad.org/mjiGfhTB

ただし、比較演算子を使用します

$p12_score1==NULL

そして、この場合: 緩く型付けされた言語では(およびその他の ;)) とnull等しいです。0ただし、PHP は ID 比較をサポートしています。

$p12_score1===NULL

補足:!$a == $b少し醜いです。実際の「等しくない」!=、またはを使用し!==ます。

于 2013-01-15T15:14:36.590 に答える
0

関数が動作するis_nullはずです。別のオプションはis_int. 私は両方を試しましたが、両方とも正しく動作します。

于 2013-01-15T15:34:26.130 に答える
0

これを試して:

IF(!empty($p12_score1)){
$equal[] = $p12_score1;
}
else {
echo "null";
}
print_r ($equal);
于 2013-01-15T15:14:40.317 に答える
0

試す

if($p12_score1 !== null) {
    $equal[] = $p12_score1;
} else {
echo "null";
}
print_r ($equal);
于 2013-01-15T15:14:56.553 に答える
0

SQL ではなく PHP でこれを行う場合は、コードを次のように変更する必要があります。

IF (!$p12_score1 === NULL)

このようにして、正確にnullで$p12_score1あることを確認します。

于 2013-01-15T15:15:12.860 に答える