【PHP】レッスン4-01:配列の基本を理解しよう

記事内に商品プロモーションを含む場合があります

この記事で学べる知識:配列の基本

この記事の練習問題を解くために必要な知識:
基礎文法・制御構造・関数(レッスン1~3)配列の基本キーが文字列の配列配列の要素の追加と削除配列の調査配列の操作配列の並び替え配列の多次元化

<<前のページ PHP記事一覧 次のページ>>

PHPの「配列の基本」とは

この章ではPHPにおける「配列の基本」の意味や使い方を学習します。用語の解説が不要な方はここをクリックして練習問題へ飛びましょう。



プログラミングでデータを扱う際に、複数の値を効率的に管理する方法として「配列」があります。

PHPでは配列を使うことでデータをグループ化して扱うことができ、柔軟な操作が可能です。

本記事では、配列の基本について学びます。

PHPの配列とは?

配列は一つの変数で複数の値を管理するデータ構造です。たとえばユーザー名のリストや商品の価格一覧を管理したい場合に便利です。

配列には以下のような特徴があります。

  • 複数の値を「インデックス」(番号)で管理する。
  • 値にアクセスする際に、インデックスを指定して操作する。
  • 連続的なデータを効率的に扱える。

PHPでは配列は柔軟なデータ構造で、インデックスには数値も文字列も使用可能ですが、本記事では数値インデックスを扱います。

配列の宣言方法

PHPでは配列を以下のように宣言します。

<?php
// 配列の宣言
$fruits = array("Apple", "Banana", "Cherry"); // リンゴ、バナナ、チェリーの3つの文字列を配列とし、変数$fruitsに代入

// 短縮構文
$fruits = ["Apple", "Banana", "Cherry"];  // こちらの宣言方法が推奨されている

array()関数を使う方法と、短縮構文である[]を使う方法があります。

短縮構文はモダンな書き方で推奨されています。

配列の要素の取り出しと修正

配列に保存された値は、インデックスを指定して操作できます。

インデックスは0から始まります。

要素の取り出し(出力)

<?php
$fruits = ["Apple", "Banana", "Cherry"];

// インデックスを指定して取り出し
echo $fruits[ 0]; // 出力: Apple

要素の修正

配列の特定の値を変更するには、インデックスを指定します。

<?php
$fruits = ["Apple", "Banana", "Cherry"];

// 要素の修正
$fruits[ 1] = "Blueberry";

// 配列の中身を確認
var_dump($fruits);
/*
出力例:
array(3) {
  [ 0]=>
  string(5) "Apple"
  [ 1]=>
  string(9) "Blueberry"
  [ 2]=>
  string(6) "Cherry"
}
*/

解説: var_dump関数は変数の内容を詳しく表示します。配列のインデックスやデータ型も確認できるため初心者には便利なツールです。

配列末尾への要素追加

配列の末尾に値を追加するには[]を使います。

要素追加の例

<?php
$fruits = ["Apple", "Banana", "Cherry"];

// 配列末尾に新しい要素を追加
$fruits[] = "Durian";

// 配列の中身を確認
var_dump($fruits);
/*
出力例:
array(4) {
  [ 0]=>
  string(5) "Apple"
  [ 1]=>
  string(6) "Banana"
  [ 2]=>
  string(6) "Cherry"
  [ 3]=>
  string(6) "Durian"
}
*/

まとめ

本記事ではPHPの配列の基本について学びました。

配列はデータを効率的に管理するための重要なデータ構造です。

宣言方法や要素の取り出し、修正、追加の基本を理解することで、より複雑なプログラムに挑戦できるようになります。

次回は配列の応用として「キーが文字列の配列」について学びます!引き続き学習を進めましょう。

配列の基本の練習問題:配列の基本操作を完全理解!

PHPで配列を使って複数のデータを管理・操作するプログラムを作成しましょう。

配列の宣言、要素の修正、要素の追加、配列全体の出力を行うことで、配列の基本的な操作を学びます。

この問題の要件

以下の要件に従ってコードを完成させてください。

  1. fruits という名前の配列を宣言し、最初に以下の3つの果物の名前を格納すること。
    • りんご
    • バナナ
    • さくらんぼ
  2. 配列の全体を表示し、配列の中身を確認すること。
  3. 配列の1番目の要素(インデックス0)を出力すること。
  4. 配列の2番目の要素(インデックス1)を「ブルーベリー」に修正すること。
  5. 修正後の配列の2番目の要素を出力すること。
  6. 配列の末尾に「ぶどう」を追加すること。
  7. 配列の全体を再度表示し、追加された要素を確認すること。
  8. 配列の全ての要素を1つずつ順番に表示すること。ループ処理を使用すること(forを使用)。

ただし、以下のような実行結果となるコードを書くこと。

*****↓↓正解コードの実行結果の例↓↓*****

array(3) {
  [ 0]=>
  string(9) "りんご"
  [ 1]=>
  string(9) "バナナ"
  [ 2]=>
  string(15) "さくらんぼ"
}
配列の1番目の要素は: りんご
変更後の2番目の要素は: ブルーベリー
配列の末尾に追加後: 
array(4) {
  [ 0]=>
  string(9) "りんご"
  [ 1]=>
  string(15) "ブルーベリー"
  [ 2]=>
  string(15) "さくらんぼ"
  [ 3]=>
  string(9) "ぶどう"
}
配列の中身を順に表示: 
りんご
ブルーベリー
さくらんぼ
ぶどう

この問題を解くヒント

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)

1:配列を宣言し、変数$fruitsに代入
2:配列$fruitsの内容をvar_dump関数を使って出力
3:「配列の1番目の要素は: 」を出力し、配列の最初の要素を連結して出力
4:配列$fruitsの2番目の要素を修正
5:「変更後の2番目の要素は: 」を出力し、修正された配列の要素を連結して出力
6:配列$fruitsの末尾に新しい要素「ぶどう」を追加
7:「配列の末尾に追加後: 」を出力し、var_dump関数で配列の内容を出力
8:「配列の中身を順に表示: 」を出力
9:for文を使って配列$fruitsの全ての要素を順に出力

ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。

<?php

// 配列を宣言します(基本構文)
/*【穴埋め問題1】
ここに配列を宣言し、変数$fruitsに初期値として複数の値を格納するコードを書いてください。
*/

// 配列の中身を出力します
// var_dump は、変数の型や内容を表示するための関数です
/*【穴埋め問題2】
ここにvar_dump関数を使って配列の内容を出力するコードを書いてください。
*/

// 配列の要素を取り出します
/*【穴埋め問題3】
ここにecho文を使って、配列の1番目の要素を表示するコードを書いてください。
*/

// 配列の要素を修正します
/*【穴埋め問題4】
ここに配列の2番目の要素を修正するコードを書いてください。
*/
echo "変更後の2番目の要素は: " . $fruits[ 1] . PHP_EOL;

// 配列の末尾に新しい要素を追加します
/*【穴埋め問題5】
ここに配列の末尾に新しい要素を追加するコードを書いてください。
*/
echo "配列の末尾に追加後: " . PHP_EOL;
/*【穴埋め問題6】
ここにvar_dump関数を使って、配列の内容を出力するコードを書いてください。
*/

// 配列の全ての要素を順に表示します(for文を使用)
echo "配列の中身を順に表示: " . PHP_EOL;
/*【穴埋め問題7】
ここにfor文を使って、配列の全要素を順に表示するコードを書いてください。
*/

以上がこの問題の穴埋めコードです。

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。



練習問題の解答と解説

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

例えば以下のようなプログラムが考えられます。

<?php

// 配列を宣言します(基本構文)
$fruits = ["りんご", "バナナ", "さくらんぼ"]; // 配列には複数の値を格納できます

// 配列の中身を出力します
// var_dump は、変数の型や内容を表示するための関数です
var_dump($fruits);

// 配列の要素を取り出します
echo "配列の1番目の要素は: " . $fruits[ 0] . PHP_EOL; // 配列の最初の要素にアクセス

// 配列の要素を修正します
$fruits[ 1] = "ブルーベリー"; // 配列の2番目の要素を変更
echo "変更後の2番目の要素は: " . $fruits[ 1] . PHP_EOL;

// 配列の末尾に新しい要素を追加します
$fruits[] = "ぶどう"; // 末尾に要素を追加
echo "配列の末尾に追加後: " . PHP_EOL;
var_dump($fruits);

// 配列の全ての要素を順に表示します(for文を使用)
echo "配列の中身を順に表示: " . PHP_EOL;
for ($i = 0; $i < count($fruits); $i++) { // count() で配列の要素数を取得
    echo $fruits[$i] . PHP_EOL; // インデックスで要素を取り出す
}

正解コードの解説

今回作成したコードは、PHPで配列の基本操作を学ぶためのプログラムです。

このコードの詳細な解説をブロックごとに見ていきましょう。

配列の宣言

$fruits = ["りんご", "バナナ", "さくらんぼ"];
  • 説明: $fruitsという名前の配列を宣言し、最初に「りんご」「バナナ」「さくらんぼ」の3つの値を格納しています。
  • ポイント: 配列は[]またはarray()で作成できます。[]はモダンな書き方で推奨されています。

配列の中身を確認

var_dump($fruits);

説明: var_dumpは変数の詳細(型と値)を表示するPHPのビルトイン関数です。

配列の要素を取り出す

echo "配列の1番目の要素は: " . $fruits[ 0] . PHP_EOL;
  • 説明: $fruits[0]は、配列の1番目(インデックス0)の要素を取り出します。PHPではインデックスは0から始まります。
  • ポイント: .は文字列を連結するために使用されます。出力の最後にPHP_EOLを加えることで改行を挿入します。

配列の要素を修正する

$fruits[ 1] = "ブルーベリー";
echo "変更後の2番目の要素は: " . $fruits[ 1] . PHP_EOL;
  • 説明: $fruits[ 1](2番目の要素)を「ブルーベリー」に変更しています。その後、変更された要素を出力しています。
  • ポイント: 配列の要素はインデックスを指定することで、簡単に値を変更できます。

配列の末尾に要素を追加する

$fruits[] = "ぶどう";
var_dump($fruits);
  • 説明: $fruits[] = "ぶどう";は、配列の末尾に「ぶどう」を追加しています。
  • ポイント: インデックスを指定しないで[]を使うと、新しい要素が自動的に追加されます。

配列の全要素を順に表示する

for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i] . PHP_EOL;
}
  • 説明: forループを使って、配列の全ての要素を順番に表示しています。
    • count($fruits)は配列の要素数を取得します。
    • $fruits[$i]でインデックス$iに対応する要素を取り出します。
  • ポイント: 配列を扱う際にはforループやcount関数を組み合わせて全要素にアクセスします。

まとめ

このプログラムではPHPの「配列の基本」について学びました。

配列を使えば複数の値を効率的に管理し、簡単に操作することができます。

配列の宣言や要素の取り出し・修正・追加などを学ぶことで、今後のプログラミングスキル向上に役立てることができます。

<<前のページ PHP記事一覧 次のページ>>

この記事への質問・コメント

この記事を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    PHPのテキスト&問題集トップへ戻る
    トップページへ戻る