【PHP】配列と繰り返し処理について

PHPの配列と、繰り返し処理についてまとめました。

プログラミングを行ううえで、かかせない知識となっています。

ぜひ最後までお読みください!

1. 配列とは


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

・変数と違って複数の値をまとめて保存できる

・仕切りのある箱のそれぞれのスペースにデータを格納するイメージ

・インデックスは0から始まる

2. 配列の基本構文


基本構文は以下のようになります。

$配列名 = array(値1, 値2, 値3, ・・・);

【例:test.php】


$animals = array(‘dog’, ‘cat’, ‘cow’);
echo $animals[0]; // dog

?>

2-1. 配列の追加

配列に値を追加したい場合は、以下のようにします。

【例:test.php】


$animals = array(‘dog’, ‘cat’, ‘cow’);
$animals[ ] = ‘rabbit’;

echo $animals[3]; // rabbit

?>

2-2. 配列の上書き

配列の値を上書きしたい場合は、以下のようにします。

【例:test.php】


$animals = array(‘dog’, ‘cat’, ‘cow’);
$animals[1] = ‘bat’;

echo $animals[1]; // bat

?>

3. 連想配列


連想配列は、配列と同じく複数のデータをまとめて管理する場合に使用されます。

配列との違いは、それぞれの要素を管理する際にインデックス番号を使用するのではなく、「キー」と呼ばれる文字列などの値を使用する点です。

4. 連想配列の基本構文


基本構文は以下のようになります。

$配列名 = array(‘キー’ => ‘バリュー’);

【例:test.php】


$pet_1 = array(
‘name => ‘ポチ’,
‘age’ => 3
’);

?>

4-1. 連想配列の取り出し

連想配列の値を取り出したい場合は、以下のようにします。

【例:test.php】


$pet_1 = array(
‘name’ => ‘ポチ’,
‘age’ => 3
);

echo $pet_1[‘name’]; // ポチ

?>

4-2. 連想配列の追加

連想配列に値を追加したい場合は、以下のようにします。

【例:test.php】


$pet_1 = array(
‘name’ => ‘ポチ’,
‘age’ => 3
);

$pet_1[‘gender’] = ‘オス’;

echo $pet_1[‘gender’]; // オス

?>

5. 多次元配列


多次元配列は、1つ以上の配列を含む配列です。

・2次元配列:配列の中にさらに配列がある状態

・3次元配列:配列の中に配列があり、その中にまた配列がある状態

6. 多次元配列の基本構文

【例:test.php】


$goods = array(
    array(‘ペン’, 10),
    array(‘消しゴム’, 5),
    array(‘メモ帳’, 3),
);

echo $goods[0][0].'の在庫は'.$goods[0][1].'個です'; // ペンの在庫は10個です

?>

7. 繰り返し処理


繰り返し同じ処理を行いたい場合に使用します。

繰り返し処理には、以下の3つがあります。

・for文

・while文

・foreach


順番に解説していきます。

7-1. for文

まず、for文を使用した例を見ていきましょう。

【for文の例:test.php】


for($i = 1; $i <= 10; $i++){
    echo $i.' '; // 1 2 3 4 5 6 7 8 9 10
}

?>

上記の例では、変数$iに1を初期値として与え、「echo $i;」をおこなっています。

その後、ループの条件を満たさなくなるまで値の更新「$i++」と「echo $i.’ ’;」を繰り返しおこないます。

7-2. while文

次に、while文を使用した例を見ていきましょう。

【while文の例:test.php】


$i = 1;
while($i <= 10) {
echo $i.' '; // 1 2 3 4 5 6 7 8 9 10
$i++; // この1文がないと無限ループになってしまうので注意してください!
}

?>

while文は、はじめに条件式を指定し、それがtrueの間処理が繰り返し実行されます。

for文のときのように変数$iが自動的に増えていかないため、ループの中で「$i ++;」をおこなうのを忘れないようにしましょう。

7-3. foreach

配列、または連想配列に対して、先頭のデータから順番に繰り返し処理を行う場合、foreachを使用します。

【foreach(配列の場合)の例:test.php】


$cities = array(“大阪”, “京都”, “兵庫”);
foreach($cities as $city) {
echo $city.’ ’; // 大阪 京都 兵庫

}

?>

【foreach(連想配列の場合)の例:test.php】


$pets = array(
    'ポチ' => 3,
    'タマ' => 2
);

foreach($pets as $name => $age) {
    echo $name.': '.$age.'才';
    echo "
";
}

// ポチ: 3才
// タマ: 2才

?>

8. 配列の長さを取得する - count()


配列の長さを取得したい場合は、<code>count()</code>関数を使用します。

<?php

$pets = array(‘dog’, ‘cat’, ‘rabbit’);
echo count($pets); // 3

?>

取得した配列の長さをfor文で使いたい場合は以下のようにします。

<?php

$pets = array(‘dog’, ‘cat’, ‘rabbit’);
$petsLength = count($pets); // 3

for($i = 0; $i <= $petsLength; $i++) {
echo $pets[$i].’ ’; // dog cat rabbit
}

?>

9. おわりに

今回は配列と繰り返し処理について解説しました。

どちらもプログラミングを行ううえでかかせない知識となっているので、ぜひご自身で何回も試して使い方を身につけてみてください!

最後までお読みいただき、ありがとうございました。

参考記事

配列

https://www.php.net/manual/ja/function.array

https://www.w3schools.com/php/php_arrays.asp


繰り返し処理

https://www.php.net/manual/ja/control-structures.for.php

https://www.w3schools.com/php/php_looping.asp