0Pricing
PHP Academy · レッスン

インデックス配列と連想配列

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));            // true

array_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'); // prepend

compactと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. インデックス配列と連想配列
  2. 多次元配列
  3. 配列のソートと検索
  4. 配列変換関数
← PHP Academyに戻る