2016-07-12 23 views
1

私はHead First PHPを使用していますが、このコードスニペットはPHPで見つかりました。このコードはどのように機能しますか?

first_name、last_name、およびemailを含むテーブルからレコードの各行を表示することになっています。

while($row = mysqli_fetch_array($result)) 
{ 
    echo $row['first_name'] . ' ' . $row['last_name'] . 
    ' : ' . $row['email'] . '<br />'; 
} 

$rowアレイはmysqli_fetch_array()により得られた次の行を含んでいます。しかし、これはwhileループによってどのようにチェックされるべきですか? whileループは、内部コードを実行する前にtrue/falseと正確に評価されますか?なぜ、行が使い果たされたときにループが停止するのですか? EOFをチェックする条件もありません!では、これはどのくらい正確に機能しますか?

+0

http://php.net/manual/en/mysqli-result.fetch-array.phpおよびhttp://php.net/manual/en/control-structures.while.php。行って学びなさい。 – aynber

+0

@aynber **これらのリソースのどれも**は、データの可用性が_True_としてどのように解釈されるかを説明し、Nullは_False_として解釈されません。それは私が知りたいことです。 –

答えて

1

PHP Documenationを参照すると、mysqli_fetch_array()はフェッチされた行に対応する文字列の配列を返します。結果セットにそれ以上行がない場合はNULLを返します。したがって、それ以上の結果がない場合、それはfalseと評価されるnullを返し、ループを終了します。

+0

したがって、NULL値を含むものは常に "false"と評価されますが、テキスト/コンテンツは常に "true"と評価されます。これは特別なケースですか? –

+0

my_sqli_fetch_array()は文字列の配列を返します。空でない配列はtrueと評価されます。 NULLは常にfalseと評価されます。さまざまな種類のtrue/falseに評価される値を確認するには、http://php.net/manual/en/language.types.boolean.phpを参照してください。 – amhokies

+0

ありがとう、それは私が必要としたリンクです。 –

関連する問題