[模擬問題] PHP8初級 – PHPの特徴(エバンジェリスト三雲勇二からの出題)

PHP8初級試験が開始されました!

「PHP7初級試験」の模擬問題を公開してきましたが、これらの問題を「PHP8初級試験」向けにアレンジしました。
受験を考えているあなたも、試験を合格したあなたも、ぜひチャレンジしてみてください!

目次

問題

次の選択肢のなかで、誤っているものはどれでしょう? (1つ選択)

  1. PHP はサーバー側でソースコードを実行するスクリプト言語である
  2. # または // 以降に記述された文字は行コメントになる
  3. 開始タグには <?php のみ使用できる
  4. <?PHP ECHO 'Hello'; ?> は実行してもエラーにならない
  5. ホワイトスペースには、タブや改行、半角スペースが含まれる

解答と解説は下にスクロールしてください





























解答

正解は 3. です。

解説

1. PHP はサーバー側でソースコードを実行するスクリプト言語である

選択肢のとおりです。

サーバーサイドスクリプト言語と呼ばれたりもします。
クライアント側でプログラムを実行する主なスクリプト言語は JavaScript があります。
また、ソースコードを Windows や Mac のアプリに一括変換し実行する方式の言語はコンパイル言語と呼びます。

【試験合格後もステップアップ!】

PHP はバージョンを重ねるごとに高速化しています。同じソースコードでも、新しいバージョンの PHP で実行するだけで高速化できる場合が多くあります。
同じバージョンでも PHP を高速化したい場合には、OPcache や PHP8 で導入された JIT などを検討するとよいでしょう。

2. # または // 以降に記述された文字は行コメントになる

選択肢のとおりです。

PHP のコメントは下記の 3パターンがあります。

/* 
  複数行コメント
*/

// 行コメント

# 行コメント

【試験合格後もステップアップ!】

#[ で始まる行コメントは、PHP 8 以降ではアトリビュート構文として使用されます。
特に理由がない場合、行コメントは // の書き方で始めておくほうが無難でしょう。

3. 開始タグには<?php のみ使用できる

<?php 以外にも<? も短縮形の開始タグとして使用可能です。
設定により短縮形の開始タグは無効化することもできます。

【試験合格後もステップアップ!】

短縮形の <? 開始タグは設定で無効化できるので、移植したソースコードが動作しなくなる恐れがあり、公式ドキュメントでも推奨されていません。

また、<?= という開始タグも使用できます。これは <?php echo を短くしたものです。

4. <?PHP ECHO 'Hello'; ?> は実行してもエラーにならない

選択肢のとおりです。

phpecho などのキーワードや言語構造、関数名は大文字と小文字を区別しません。
ただし、変数は大文字と小文字を区別します。

大文字と小文字を区別するケースを正しく覚えましょう。

【試験合格後もステップアップ!】

大文字と小文字を区別しないケースでも、公式ドキュメントの表記に合わせて書き方を統一しておいたほうが、混乱を招きません。

定数は変数と同じく大文字と小文字を区別します。
定数は以前、define() 関数の $case_insensitiveオプション引数に true を指定したときのみ大文字と小文字を区別しない仕様がありました。
この仕様は PHP 8 で廃止されました。

5. ホワイトスペースには、タブや改行、半角スペースが含まれる

選択肢のとおりです。

ホワイトスペースには半角スペースは含まれますが、全角スペースは含まれません。

【試験合格後もステップアップ!】

全角スペースはよく半角スペースやタブにまぎれ、エラーを誘発しやすい文字です。
HackGen などのプログラミングフォントをエディタに設定すると、全角スペースが視覚的に見つけやすくなります。

試験の情報

PHP8初級試験 の詳細およびキャンペーン情報はこちら
https://www.phpexam.jp/summary/novice8/

模擬問題作成及び解説

三雲 勇二
プライム・ストラテジー株式会社 所属。PHP 技術者認定機構で実施している試験 ( PHP8上級 / PHP5上級 / PHP7初級 / PHP5初級 / 徳丸実務 / 徳丸基礎 / KUSANAGI for WordPress ) 含め多数の試験に合格。ペチゾーをデスク周りにおいて日々お仕事しています。
Facebook: facebook.com/yuji.mikumo
Twitter: @maikeru

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次