iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

PHP Associative Arrays

An associative array stores values under string (or non-sequential integer) keys. PHP's equivalent of a dictionary or hash map.

Create

PHP
$ages = [
    'Ada'   => 36,
    'Grace' => 56,
    'Linus' => 42,
];

Access

PHP
echo $ages['Ada'];                       // 36
echo $ages['Tim']  ?? 'unknown';          // null coalesce — no PHP warning
echo array_key_exists('Ada', $ages);     // true (1)

Set & remove

PHP
$ages['Tim'] = 70;       // add or update
unset($ages['Grace']);    // remove

Iterate

PHP
foreach ($ages as $name => $age) {
    echo "$name is $age", PHP_EOL;
}

Keys, values, merge

PHP
print_r(array_keys($ages));       // names
print_r(array_values($ages));     // ages
print_r(array_flip($ages));       // swap keys and values

$merged = array_merge($defaults, $overrides);
$merged = [...$defaults, ...$overrides];   // spread — same idea

JSON shape

Associative arrays serialize to JSON objects. Indexed arrays become JSON arrays:

PHP
echo json_encode($ages);            // {"Ada":36,"Grace":56,"Linus":42}
echo json_encode([1, 2, 3]);        // [1,2,3]
echo json_encode([], JSON_FORCE_OBJECT);  // {} not []
Tip: Keys are case-sensitive. $arr['name'] and $arr['Name'] are different entries — pick a convention and stick with it.

Example

Example
<?php
$ages = ['Ada' => 36, 'Grace' => 56, 'Linus' => 42];
foreach ($ages as $name => $age) {
    echo "$name is $age", PHP_EOL;
}
Try it Yourself »

Exercise

Read with safe fallback using null-coalesce.

$ages['Tim'] 'unknown'

Test yourself

Q1. Read with safe default…
Q2. Test missing-or-set with…
Q3. JSON-encode of [] becomes…

Discussion

Loading…