質問: PHP学習中です。 とある教則アプリで添付画像の説明がありました。 これはあっているのでしょうか? というのも、$b は、変数への代入であって実行ではないのではないか? この場合$e の中
回答: このアプリ鵜呑みにしちゃだめです.PHP5.3以降では非推奨,さらにPHP7.x系では削除されて使えなくなっている関数を使用しています.しかもHTMLタグをecho/print連発で表示するのもまたPHPの不適切な使い方であり,初心者に悪い癖を覚えさせてしまう点でもダメだと思います... それはさておき,コードの説明をすると...ってこれもまた誤解を招くような酷いコードがw 1行目はMySQLデータベースに接続し,「リソース型」(PHPから外部の世界に触れるための情報が格納される型) として生成された接続情報を $a に代入しています. 2行目は,$a が現在参照するデータベースを指定します.$b に代入されるのはこの関数実行が成功したかどうかを表す True/False の返り値だけです.データベースが存在していれば成功するのは当たり前なので,検証しないのであればこの代入は不必要です. 4行目で $a に対してクエリを発行しています.結果セットは「リソース型」として $d に代入されます. 5行目以降のループで,結果セットから1行ずつ順番に取り出して $e に代入しています.全て回し終わった時には $e に代入されるものは false になるので,これがそのまま while ループの脱出条件となります.