[模擬問題] PHP8初級 – 配列(CTO古庄道明からの出題)

こんにちは。PHP技術者認定機構 CTOの古庄道明です。
今日もPHP8初級試験の模擬問題と解説を紹介します。
以下を解いて出題のイメージと知識を補っていただけると幸いです。

目次

問題

次の実行結果を得たい場合、コードの【A】と【B】に入る組み合わせとして正しいものはどれか。

[ 実行結果 ]
snowdrop, marigold

[ コード ]

$flowers = array(
    array('rose', 'hibiscus', 'tulip'),
    array('snowdrop', 'lily', 'gardenia'),
    array('lavender', 'gentian', 'pansy'),
    array('dandelion', 'sun flower', 'marigold'),
);

print 【A】. ', ' .【B】;

選択肢

選択肢1
【A】$flowers[1][1]
【B】$flowers[4][3]

選択肢2
【A】$flowers[1][1]
【B】$flowers[3][2]

選択肢3
【A】$flowers[1][0]
【B】$flowers[3][2]

選択肢4
【A】$flowers[1][0]
【B】$flowers[3][3]

選択肢5
【A】$flowers[2][1]
【B】$flowers[4][3]

回答と解説

問題は「配列について」です。
https://www.php.net/manual/ja/language.types.array.php
に一通り記載があるので、確認をしておくとよいでしょう。

今回の設問は、一般に「二次元配列」と呼ばれる、配列の要素として別の配列を持つ構造(配列の配列)についてです。
今回のコードのように、キーを省略して配列を作成した場合、省略された各要素には0から始まる整数キーが順番に割り当てられます。
そのため、最初の要素には [0]、次の要素には [1] を指定してアクセスできます。

$flowers[0]でアクセスすると、array('rose', 'hibiscus', 'tulip')を得ることができます。
また、この配列の最初の要素である 'rose' は、$flowers[0][0]でアクセスすることができます。
次の要素 'hibiscus' は、$flowers[0][1]でアクセスすることができます。

同じように、$flowers[1]でアクセスするとarray('snowdrop', 'lily', 'gardenia')が得られ、'lily'は、$flowers[1][1]で、'gardenia'$flowers[1][2]で得られます。

設問の実行結果はsnowdrop, marigoldでした。

このうち、snowdrop は、$flowers[1]で得られるarray('snowdrop', 'lily', 'gardenia')の整数キーが0の要素であることから$flowers[1][0]で得られることがわかります。

また、marigold は$flowers[3]で得られるarray('dandelion', 'sun flower', 'marigold')の整数キーが2の要素であることから$flowers[3][2]で得られることがわかります。

従って、【A】は$flowers[1][0]、【B】は$flowers[3][2]の選択肢を選ぶのが正しく、これに合致するのは選択肢3となります。
正解は選択肢3です。

PHP8初級試験と公式問題集に興味がある方は、以下のページをご覧のうえ、この機会に是非受験ください。

PHP8初級試験
https://www.phpexam.jp/summary/novice8

公式問題集:PHP8技術者認定初級試験公式問題集A
Kindle版 https://amzn.asia/d/1bS88y9
ペーパーバック版 https://amzn.asia/d/3P3Izeu

また、試験対策セミナーは毎月開催しています。興味がある方は以下のページをご覧いただき是非セミナーにもご参加ください。(フォローいただけるとセミナーのご案内が届くようになります)

PHP技術者認定機構の公式Peatixグループ
https://peatix.com/group/43424

www.phpexam.jp

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

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