はじめに:配列ってなんだろう?
プログラミングをしていると、「たくさんのデータ」を扱いたい場面がたくさん出てきます。例えば、ユーザーの名前リスト、テストの点数一覧、商品の情報などです。これらのデータを一つ一つ別の変数に入れて管理するのは大変ですよね
そこで登場するのが配列 (Array) です!配列を使うと、関連する複数の値を一つの変数にまとめて格納し、効率的に管理することができます。PHPにおいて配列は非常に強力で、Web開発の様々な場面で活躍します。
このステップでは、PHPの配列の中でも基本となる「数値配列」と「連想配列」の作り方と基本的な操作方法を学びましょう!
1. 数値配列:番号で管理するデータリスト
数値配列は、もっともシンプルな配列の形式です。データを入れると、自動的に 0から始まる連続した整数 が「インデックス(添え字)」として割り当てられます。ちょうど、リストの項目に番号を振っていくイメージです。
数値配列の作り方
PHPでは、array()
関数を使う方法と、より短い角括弧 []
を使う方法があります。最近のPHPでは、短い []
を使うのが一般的です。
<?php
// array() 関数を使う方法 (古い書き方)
$fruits_old = array('Apple', 'Banana', 'Cherry');
// 角括弧 [] を使う方法 (推奨 )
$fruits = ['Apple', 'Banana', 'Cherry'];
// 中身を確認してみる
print_r($fruits);
?>
上記のコードを実行すると、次のような出力が得られます。
Array
(
[0] => Apple
[1] => Banana
[2] => Cherry
)
[0]
, [1]
, [2]
がインデックス番号で、それぞれに対応する値が格納されているのがわかりますね。
要素へのアクセス
配列の中の特定のデータ(要素)を取り出すには、変数名の後に [インデックス番号]
を指定します。
<?php
$fruits = ['Apple', 'Banana', 'Cherry'];
// 最初の要素 (インデックス 0) を表示
echo $fruits[0]; // 出力: Apple
// 2番目の要素 (インデックス 1) を表示
echo $fruits[1]; // 出力: Banana
?>
注意: インデックスは 0 から始まります。存在しないインデックスを指定するとエラーになるので気をつけましょう。
要素の追加と変更
既存の配列に新しい要素を追加したり、既存の要素の値を変更したりすることも簡単です。
<?php
$fruits = ['Apple', 'Banana', 'Cherry'];
// 末尾に新しい要素を追加 (インデックスは自動で割り振られる)
$fruits[] = 'Orange';
// $fruits は ['Apple', 'Banana', 'Cherry', 'Orange'] になる
// 既存の要素を変更 (インデックス 0 の値を変更)
$fruits[0] = 'Apricot';
// $fruits は ['Apricot', 'Banana', 'Cherry', 'Orange'] になる
print_r($fruits);
?>
2. 連想配列:名前(キー)で管理するデータセット
数値配列が番号でデータを管理するのに対し、連想配列 (Associative Array) は、各データに固有の「名前」を付けて管理します。この名前のことを キー (Key) と呼びます。キーと値 (Value) がペアになっているのが特徴です。辞書のように、単語(キー)を引くと意味(値)が出てくるイメージです。
連想配列の作り方
連想配列も array()
関数または角括弧 []
で作成できます。キーと値を =>
で結びつけます。キーには通常、文字列を使います。
<?php
// array() 関数を使う方法
$user_old = array('name' => 'Taro', 'age' => 30, 'city' => 'Tokyo');
// 角括弧 [] を使う方法 (推奨 )
$user = [
'name' => 'Taro',
'age' => 30, // キーに対応する値は文字列以外 (数値など) でもOK
'city' => 'Tokyo'
];
// 中身を確認してみる
print_r($user);
?>
上記のコードを実行すると、次のような出力が得られます。
Array
(
[name] => Taro
[age] => 30
[city] => Tokyo
)
数値のインデックスではなく、指定した文字列(’name’, ‘age’, ‘city’)がキーになっていることがわかりますね。
要素へのアクセス
連想配列の要素にアクセスするには、変数名の後に ['キー名']
を指定します。
<?php
$user = [
'name' => 'Taro',
'age' => 30,
'city' => 'Tokyo'
];
// 'name' キーに対応する値を表示
echo $user['name']; // 出力: Taro
// 'age' キーに対応する値を表示
echo $user['age']; // 出力: 30
?>
注意: キー名は大文字・小文字を区別します。$user['Name']
のように間違えると、存在しないキーとして扱われます。
要素の追加と変更
連想配列でも、新しいキーと値のペアを追加したり、既存のキーに対応する値を変更したりできます。
<?php
$user = [
'name' => 'Taro',
'age' => 30,
'city' => 'Tokyo'
];
// 新しいキーと値のペアを追加
$user['job'] = 'Engineer';
// $user に 'job' => 'Engineer' が追加される
// 既存のキーの値を変更
$user['age'] = 31;
// 'age' の値が 30 から 31 に変更される
print_r($user);
?>
3. 配列の基本的な操作(共通)
数値配列でも連想配列でも使える、便利な基本的な操作をいくつか見てみましょう。
要素数の取得:count()
関数
配列にいくつの要素が含まれているかを知りたい場合は、count()
関数を使います。
<?php
$fruits = ['Apple', 'Banana', 'Cherry'];
$user = ['name' => 'Taro', 'age' => 30];
echo count($fruits); // 出力: 3
echo count($user); // 出力: 2
?>
配列の内容を確認:print_r()
と var_dump()
開発中に配列の中身を確認したいことはよくあります。print_r()
は人間が読みやすい形式で、var_dump()
はデータ型や文字数など、より詳細な情報を表示してくれます。デバッグ時に非常に役立ちます
<?php
$fruits = ['Apple', 'Banana', 'Cherry'];
echo "<pre>"; // ブラウザで見やすくするために pre タグを追加
echo "--- print_r() の出力 ---<br>";
print_r($fruits);
echo "<br>";
echo "--- var_dump() の出力 ---<br>";
var_dump($fruits);
echo "</pre>";
?>
出力例:
--- print_r() の出力 ---
Array
(
[0] => Apple
[1] => Banana
[2] => Cherry
)
--- var_dump() の出力 ---
array(3) {
[0]=>
string(5) "Apple"
[1]=>
string(6) "Banana"
[2]=>
string(6) "Cherry"
}
var_dump()
の方が、各要素のデータ型(string)や文字数まで表示されているのがわかりますね。
ループ処理での利用:foreach
配列の全ての要素に対して同じ処理を行いたい場合、foreach
ループが非常に便利です。
数値配列の場合:
<?php
$colors = ['Red', 'Green', 'Blue'];
foreach ($colors as $color) {
echo $color . "<br>"; // 各色が順番に出力される
}
// 出力:
// Red
// Green
// Blue
?>
連想配列の場合(キーと値の両方を取得):
<?php
$user = ['name' => 'Hanako', 'age' => 25];
foreach ($user as $key => $value) {
echo $key . ': ' . $value . "<br>"; // キーと値が順番に出力される
}
// 出力:
// name: Hanako
// age: 25
?>
foreach
を使うことで、配列の要素数に関係なく、すべての要素を簡単に処理できます。
まとめ
今回はPHPの配列の基本、数値配列と連想配列について学びました。
- 数値配列: 順番が重要で、0から始まる番号で管理したいデータリストに使う。
- 連想配列: 各データに意味のある名前(キー)を付けて管理したいデータセットに使う。
配列はPHPプログラミングの基礎であり、これから学ぶ多くの機能(フォーム処理、データベース操作など)で頻繁に利用します。基本的な作成方法とアクセス方法をしっかりマスターしておきましょう!
次のステップでは、配列をさらに便利に扱うための様々な「配列関数」について学んでいきます。お楽しみに!