PHPのif文における&&とandの違いとは【メンターが回答】

「PHPのif文における&&とandの違いがわかりません。」という質問にTechAcademyの現役エンジニアが解決方法を回答しています。論理演算子の使い方についてぜひ理解しておきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

※TechAcademyに実際に寄せられた質問に現役エンジニアのメンターが回答しました。

 

田島悠介

質問に対して現役のエンジニアが回答していくシリーズだね!

大石ゆかり

今回はどういう質問でしょうか?

田島悠介

PHPのIF文の&&とandのどちらを使うべきかだね!実際に回答してもらった内容を紹介するね!

大石ゆかり

お願いします!

質問

PHPのプログラムで、if文の中で使用する論理演算子に && と and の2種類の演算子を使っている事があります。

基本的に同じ意味だと思うのですが、どちらの演算子を使用するのが一般的なのでしょうか?

 

メンターからの回答

`&&` を使用するのが一般的だと思います。

基本的には同じ意味ですが、演算子の優先順位は異なりますので、使う場面によっては注意が必要です。

例えば、 `and` は `=` より優先順位が低いので、以下の場合に予想しない結果になります。

$ php -a
Interactive shell

php > $bool = true && false;
php > var_dump($bool);
bool(false)
php > 
php > $bool = true and false;
php > var_dump($bool);
bool(true)
php >

 

同様に`or`と`||`の同じ意味を持つ論理演算子も存在しますが、こちらは`||`が一般的に使用されています。

開発現場によってどちらを採用するか変わってきますが、両方を混在させてしまうと不自然な挙動が発生するなど起こるので、どちらか一方に統一すべきでしょう。

 

関連情報

php.net-演算子の優先順位

 

以上、PHPのIF文の&&とandのどちらを使うべきかについて解説しました。

TechAcademyでは、現役PHPエンジニアのメンターが質問にすぐ回答します。

他にもPHPとHTMLをまとめてコメントアウトする方法をメンターが回答しているので、合わせてご覧ください。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

回答してくれたメンター

杉本 隆也(すぎもとたかや)

フリーランスのアプリケーションエンジニア。WebアプリやiOSアプリの受託開発をしながら、TechAcademyではPHP/Laravelコースを担当しています。

開発実績: マッチングサービス、カスタマーサービス、決済ツール、SNSアプリ、音遊びアプリなど。

 

田島悠介

PHPのIF文の&&とandのどちらを使うべきかについて解説したよ。

大石ゆかり

回答では&&とandを使った場合の結果が異なっていますね。

田島悠介

そうそう。andは=より優先順位が低いので、$bool=trueが先に実行されてしまいtrueが代入されてしまうんだよ。

大石ゆかり

わかりました。ありがとうございます!

 

TechAcademyでは、オンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。