MENU

【PHP】Lesson4-1:配列の基本をマスターしよう|初心者向けガイド

tggaa478@yahoo.co.jp

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

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

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

Lesson1:基礎文法編
Lesson2:制御構造編
Lesson3:関数編
Lesson4:データ構造編

 ・Lesson4-1:配列の基本を理解しよう ◁今回はココ
 ・Lesson4-2:キーが文字列の配列を理解しよう
 ・Lesson4-3:配列の要素を追加/削除しよう
 ・Lesson4-4:配列を調査しよう
 ・Lesson4-5:配列を操作しよう
 ・Lesson4-6:配列を並び替えよう
 ・Lesson4-7:配列の多次元化を理解しよう
 ・確認問題4-1:ナインゲームを作ろう
 ・確認問題4-2:宝探しゲームを作ろう
 ・確認問題4-3:マルバツゲームを作ろう
Lesson5:クラス

<<前のページ

学習記事一覧

次のページ>>

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の配列の基本について学びました。

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

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

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

演習問題|配列の基本操作を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からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

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

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

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

Q
ヒント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文を使って、配列の全要素を順に表示するコードを書いてください。
*/

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

演習問題の答え合わせ

この問題の正解コードとその解説は以下の通りです。

クリックして開いて確認してください。

Q
正解コード
<?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; // インデックスで要素を取り出す
}
Q
正解コードの解説

コードをブロックごとに分割して解説します。

配列の宣言

$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学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

学習記事一覧

次のページ>>

記事URLをコピーしました