Associative arrays
| Keys and values | |
| Iterate with key and value | |
| isset, empty and array_key_exists | |
| Sort by value and key |
Keys and values
An associative array maps string keys to values, like a small dictionary: each name points to exactly one value. The => arrow pairs a key with its value when the array is built.
$user = ["name" => "Ada", "age" => 36]; echo $user["name"];
Iterate with key and value
The two-variable foreach form hands you both halves of every pair: the key on the left, the value on the right. It is the standard way to print settings, render option lists, and transform maps.
$user = ["name" => "Ada", "age" => 36]; foreach ($user as $key => $value) { echo $key . ": " . $value; }
isset, empty and array_key_exists
Three checks answer three different questions. isset is false for missing keys and for keys holding null. array_key_exists cares only about the key itself, so it stays true even when the value is null. empty treats missing, null, empty string, zero, and empty array all as empty.
$data = ["a" => null]; var_dump(isset($data["a"])); // false var_dump(array_key_exists("a", $data)); // true var_dump(empty($data["b"])); // true
Sort by value and key
Plain sort reorders values and renumbers keys, which destroys a map. Use asort to order by value while keeping keys attached, and ksort to order by key.
$scores = ["bob" => 12, "ada" => 30, "cid" => 7]; asort($scores); ksort($scores); print_r($scores);
Next: Functions
Article author: Arthur Isaev