インデックス配列と連想配列
PHPの2種類の配列を作成し、アクセスします。
「インデックス配列と連想配列」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。
PHPの配列
PHPの配列は順序付きマップです。リスト、辞書、スタック、キューとして使用できます。主に次の2種類があります。
- インデックス付き配列 — 数値キー(0、1、2…)
- 連想配列 — 文字列キー
インデックス付き配列の作成
短縮配列構文[]またはarray()を使います。
<?php
$colors = ['red', 'green', 'blue']; // short syntax
$nums = array(10, 20, 30); // long syntax
echo $colors[0]; // red
echo $nums[2]; // 30
echo count($colors); // 3要素の追加と削除
[]で追加し、unset()で削除します。
<?php
$items = ['a', 'b', 'c'];
$items[] = 'd'; // append
$items[] = 'e';
unset($items[1]); // remove 'b'
print_r($items);
// [0=>'a', 2=>'c', 3=>'d', 4=>'e'] — index gap!連想配列
文字列キーを使って、辞書のような構造を作成します。
<?php
$person = [
'name' => 'Alice',
'age' => 30,
'email' => 'alice@example.com',
];
echo $person['name']; // Alice
$person['city'] = 'London'; // add new key
unset($person['email']); // remove keyキーの存在を確認する
配列にキーまたは値が存在するかどうかを確認します。
<?php
$config = ['debug' => false, 'version' => '2.0'];
var_dump(array_key_exists('debug', $config)); // true
var_dump(isset($config['debug'])); // false! debug=false, not NULL
var_dump(in_array('2.0', $config)); // truearray_key_existsとisset
isset()はNULL値を持つキーに対してfalseを返しますが、array_key_exists()はNULL値でもtrueを返します。
<?php
$data = ['key' => null];
var_dump(isset($data['key'])); // false
var_dump(array_key_exists('key', $data)); // true配列の分割代入
短縮リスト構文を使って、配列を変数に分割代入します。
<?php
$point = [10, 20, 30];
[$x, $y, $z] = $point;
echo "x=$x y=$y z=$z"; // x=10 y=20 z=30
// Skip elements
[, $second] = [1, 2, 3];
echo $second; // 2配列の結合
array_merge()またはスプレッド演算子を使って配列を結合します。
<?php
$a = ['x' => 1, 'y' => 2];
$b = ['y' => 99, 'z' => 3];
$merged = array_merge($a, $b);
print_r($merged); // x=>1, y=>99 (b overwrites), z=>3
$union = $a + $b;
print_r($union); // x=>1, y=>2 (a wins), z=>3配列のスライス
array_slice()を使って、配列の一部を取り出します。
<?php
$letters = ['a', 'b', 'c', 'd', 'e'];
$slice = array_slice($letters, 1, 3);
print_r($slice); // ['b', 'c', 'd']
$last2 = array_slice($letters, -2);
print_r($last2); // ['d', 'e']スタックとキューの操作
PHPの配列は、スタックやキューとしても使えます。
<?php
$stack = [];
array_push($stack, 'a', 'b');
$top = array_pop($stack); // 'b' — LIFO
$queue = ['first', 'second'];
array_push($queue, 'third');
$front = array_shift($queue); // 'first' — FIFO
array_unshift($queue, 'zero'); // prependcompactとextract
compact()は変数名から連想配列を作成し、extract()はその逆を行います。
<?php
$name = 'Alice';
$age = 30;
$data = compact('name', 'age');
// ['name' => 'Alice', 'age' => 30]
extract(['city' => 'London', 'country' => 'UK']);
echo $city; // London
echo $country; // UKクイックチェック
キーは存在するものの値がNULLである場合、array_key_exists('key', $arr)は何を返しますか。
まとめ:インデックス付き配列と連想配列
PHP配列の基本:
- インデックス付き配列は数値キーを使い、連想配列は文字列キーを使います
$arr[] = valueで要素を追加します- キーの確認には
array_key_exists()とisset()を使い分けます [$a, $b] = $arrで分割代入しますarray_merge()または+で結合します(上書きルールが異なります)- スタック/キューの操作にはpush、pop、shift、unshiftがあります
よくある質問
「インデックス配列と連想配列」レッスンは無料ですか?
はい。「インデックス配列と連想配列」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。
「インデックス配列と連想配列」で何を学びますか?
PHPの2種類の配列を作成し、アクセスします。 ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
PHP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「インデックス配列と連想配列」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPHP Academyレッスンでコードを書いて実行できますか?
はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。