-1

データベースでは、Student_idに0の値が含まれています。状態が良ければチェックインしたいのですが、必要な結果が得られていません。if条件で次のシナリオを試しました。

if(is_null($item['student_id'])) {}

if($item['student_id'] === 0){}

if($item['student_id'] == 0){}

if(intval($item['student_id']) == 0){}

if(strval("$item['student_id']") == "0"){}

注:現在、Iamはif条件でメッセージを出力しようとしています。ただし、student_id = 0の場合、何も出力されません。student_idが0以外の場合、printは正常に機能しています。

誰かが私にIamが間違っていることと、それを修正する方法を教えてもらえますか?

var_dumpを追加しました

    array
  '_id' => 
    object(MongoId)[2]
      public '$id' => string '50906d7fa3c412bb040eb577' (length=24)
  'student_id' => int 0
  'type' => string 'exam' (length=4)
  'score' => float 54.653543636265
array
  '_id' => 
    object(MongoId)[6]
      public '$id' => string '50906d7fa3c412bb040eb578' (length=24)
  'student_id' => int 0
  'type' => string 'quiz' (length=4)
  'score' => float 31.950044967421
array
  '_id' => 
    object(MongoId)[2]
      public '$id' => string '50906d7fa3c412bb040eb579' (length=24)
  'student_id' => int 0
  'type' => string 'homework' (length=8)
  'score' => float 14.850457681164
4

4 に答える 4

1

値が実際には0でない限り、これは機能するはずです。

if(intval($item['student_id']) == 0){}

他に機能する可能性のある別の方法はこれです、あなたはほとんどそれを持っていました:

if($item['student_id'] === '0'){}

しかし、繰り返しになりますが、本当に0が含まれていることを確認してください...念のため、var_dump $ itemを使用できますか?

于 2012-11-06T14:20:44.367 に答える
1

試す:

if((int) $item['student_id'] === 0){
....
}
于 2012-11-06T14:20:24.410 に答える
0
if((int)$item['student_id'] === 0){}
于 2012-11-06T14:20:56.200 に答える
0

ゼロを値で比較するには、まず取得したデータを整数に変更してから、===符号を使用して比較し、値と型の両方が等しいことを確認します。

if(intval($item['student_id']) === 0){}
于 2012-11-06T14:25:39.000 に答える