7通り【考え方】このソースコードを実行すると、「1」という値が出力されます。この値が出力されるのかを考え、削除できる文字を探してみてください。他のプログラミング言語でプログラムを作った経験があっても、PHPでの開発に取り組もうとしたときに、PHPの特殊な記号に戸惑ってしまうことは珍しくありません。今回はPHPで使われる演算子についてクイズを出題しました。以下の3つのヒントを手がかりに挑戦してみてください。冒頭の「<?php」はPHPのソースコードであることを意味し、次の「echo」は文字を出力するものです。問題なのは残りの部分でしょう。このプログラムで使われている記号について解説します。左端にある「<<」と、右端にある「>>」はビット演算子と呼ばれる記号で、数値の桁を左右にシフトする演算子です。数値を2進数で考えたときに、その桁を動かすものです。「5<<2」と書くと、「5」を2進数で考えたときに、その桁を2つ左にシフトすることを意味します。このとき、右側には「0」を埋めます。5は2進数で「101」なので、2つ左にシフトすると「10100」です。これを10進数に戻すと「20」になります。このように、1桁シフトすると2倍、2桁シフトすると4倍、3桁シフトすると8倍になる、という演算子です。逆に、右シフト(>>)の場合は、1桁シフトすると1/2倍、2桁シフトすると1/4倍、3桁シフトすると1/8倍となります。次に使われている「<=>」は宇宙船演算子と呼ばれる記号で、三方比較演算子とも呼ばれます。C++などのプログラミング言語でも同様で、「A<=>B」と書いたとき、「A<B」なら-1を、「A==B」なら0を、「A>B」なら1をそれぞれ返す演算子です。■「??」NULL合体演算子そして、「??」はNULL合体演算子と呼ばれる記号で、この左側がNULLだったときに右側の値を返し、NULL以外のときは左側の値を返します。「A??B」と書いたとき、AがNULLならBを、AがNULL以外ならAを返します。■「<>」比較演算子その次にある「<>」は「等しくない」ことを意味する比較演算子で、条件分岐の条件としてよく使われます。PHPでは、「!=」だけでなく、この「<>」も使えます。上記のような演算子の組み合わせで実現されているソースコードですが、どの順番でそれぞれの演算子を評価するのかが問題を解く鍵になります。一般的には、他人が見たときに読みやすいように括弧を使いますが、その優先順位を知っておきましょう。PHPでは、演算子の優先順位が以下のサイトで定められています。https://www.php.net/manual/ja/language.operators.precedence.phpここから今回の問題に関係しそうな部分を抜き出すと、次の表のようになります。数学で足し算や引き算よりも先に掛け算や割り算をすることを考えると、この表で上にあるものを優先して処理する、ということです。「*」や「/」があると最優先で処理します。今回は上記のような計算や比較の結果を「echo」で文字列として出力しています。このとき、型の自動変換が行われます。今回は「1」が出力されるものですが、実際には「true」を出力しようとして、自動的に「1」が出力されています。このとき、「false」なら「0」が出力されるように考える人がいるかもしれませんが、実際は違います。試しに次のソースコードを実行して、その結果を確認してみましょう。false;ヒントは以上です。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。メール技術の教科書』(以上、翔泳社)がある。登録しましょう!『ITスタッフィング』はリクルートスタッフィングが運営する派遣エンジニアのお仕事探しに特化したサイトです。オンライン登録と来社登録、2つの方法が選べます。Gmailガイドライン変更。Maker」として働き方そのものを生み出せる企業になることを目指しています。Ltd.お問い合わせプライバシーポリシーご利用にあたって引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。