Maps in PHP
Maps are PHP’s associative array, which allows you to index arrays with string keys.
To create an empty map, use an empty array.
<?php
// Create an empty associative array
$m = array();Set key/value pairs using typical $array[key] = val syntax.
$m["k1"] = 7;
$m["k2"] = 13;Printing the array with print_r will show all of its key/value pairs.
print_r($m);Get a value for a key with $array[key].
$v1 = $m["k1"];
echo "v1: " . $v1 . "\n";If the key doesn’t exist, null is returned in PHP.
$v3 = $m["k3"];
echo "v3: " . $v3 . "\n"; // Output will be blank since $v3 is null
The count function returns the number of key/value pairs when called on a map.
echo "len: " . count($m) . "\n";The unset function removes key/value pairs from a map.
unset($m["k2"]);
print_r($m);To remove all key/value pairs from a map, reassign it to an empty array.
$m = array();
print_r($m);Check if a key exists in the map using array_key_exists.
$prs = array_key_exists("k2", $m);
echo "prs: " . ($prs ? 'true' : 'false') . "\n"; // Outputs: prs: false
You can also declare and initialize a new map in the same line with this syntax.
$n = array("foo" => 1, "bar" => 2);
print_r($n);PHP doesn’t have a maps package like some other languages, but you can compare arrays directly.
$n2 = array("foo" => 1, "bar" => 2);
if ($n == $n2) {
echo "n == n2";
}Note that associative arrays appear in the form Array ( [k] => v [k] => v ) when printed with print_r.
array (
'foo' => 1,
'bar' => 2,
)Example output when running the above code:
Array
(
[k1] => 7
[k2] => 13
)
v1: 7
v3:
len: 2
Array
(
[k1] => 7
)
Array
(
)
prs: false
Array
(
[foo] => 1
[bar] => 2
)
n == n2Next example: Functions.