2016-08-06 8 views
0

PHP Selectクエリの教えによく使われるループの例がありますが、私はテーブルから選択するコードを少し書いていました。私は前にこのコードを使っていましたが、それがなぜそんなに書かれているのか気にすることはありませんでした。

while($row = mysqli_fetch_assoc($result)){ 

} 

whileループは、条件がfalseになるまで実行されるもので、時には増分値と比較を使用するかどうかはわかりません。この場合、ループの原因となっているループが「ループしていない」ことを確認できません。当初は無限ループと見なされていましたが、おそらくループが丸くなるたびにmysqli_fetch_assoc($result)が返ってくるかもしれないことを完全にはわかりません。誰かがこれを私に説明してもらえますか?ありがとうございます

答えて

2

PHPでの割り当て結果は、変数に割り当てられた値と同じです。つまり、文$row = mysqli_fetch_assoc($result)の値はmysqli_fetch_assoc($result)です。

条件が偽、つまり正確には== falseになるまでループします。これは=== falseとは異なります。 PHPではnull == falseなので、MySQLデータベースから返された結果の行がなくなるまでループは継続します。それ以上の行がない場合は、関数はnullを返します。

+0

ok、ループには増分値がありますか?言い換えれば、同じテーブルを繰り返すのではなく、テーブルの次の行を返すことをどのように知っていますか? – Pixelknight1398

+1

'$ result'に格納されています。 –

関連する問題