Асацыятыўны масіў PHP
Асацыятыўныя масівы ў PHP - гэта тыя масівы, якія дазваляюць захоўваць пары выгляду ключ - значэнне. Гэта значыць з іх дапамогай можна задаваць свае ключы.
Сінтаксіс такі: ключ, затым ідзе
стрэлка =>, а потым значэнне.
Давайце для прыкладу зробім масіў дзён тыдня.
З дапамогай асацыятыўнага масіва можна зрабіць
так, каб Monday меў ключ 1,
а не нуль:
<?php
$a = [1 => 'Monday', 2 => 'Tuesday', 3 => 'Wednesday', 4 => 'Thursday', 5 => 'Friday', 6 => 'Saturday', 7 => 'Sunday'];
echo $a[1]; // выведет 'Monday'
?>
Ключы не абавязкова павінны быць лікамі, яны могуць быць і радкамі. Зробім масіў, у якім ключамі будуць імёны работнікаў, а элементамі - іх заробкі:
<?php
// Масіў работнікаў:
$a = ['John' => 200, 'Mary' => 300, 'Nick' => 400];
?>
Даведаемся заработную плату Mary:
<?php
$a = ['John' => 200, 'Mary' => 300, 'Nick' => 400];
echo $a['Mary']; // выведет 300
?>
Масівы, у якіх відавочна паказаны ключы, называюцца асацыятыўнымі.
Хітрасць з ключамі
Калі мы рабілі асацыятыўны масіў дзён тыдня, нам прыходзілася расстаўляць усе ключы ўручную.
На самай справе няма неабходнасці расстаўляць
ключы ўсім элементам - дастаткова толькі
першаму элементу паставіць ключ 1.
Калі ў другога элемента не будзе ключа, PHP паставіць яго аўтаматычна, прычым наступны па парадку.
А наступным нумарам будзе як раз лік
2, бо папярэдні элемент меў
ключ 1 (няважна, што мы самі яго паставілі,
а не PHP аўтаматычна).
Давайце паправім наш масіў:
<?php
// Пакажам ключы ў відавочным выглядзе:
$a = [1 => 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
echo $a[3]; // выведет 'Wednesday'
?>
Хітрасць дастаткова карысная, выкарыстоўвайце яе.