Массивы в PHP (часть 3) ассоциативные массивы

Массивы в PHP (часть 3) - ассоциативные массивы

В последней статье серии о массивах PHP мы говорили о настраиваемых ключах. В этом продолжении мы рассмотрим ситуации, в которых эти настраиваемые ключи имеют не числовой тип, а текстовую форму. Мы называем их ассоциативными массивами.

Случаи, в которых это уместно использовать, — это когда мы должны использовать пары данных, в которых один элемент может быть идентификатором или каким-либо другим ключом, а его соответствующее значение более приятно для конечных пользователей..

Примером может служить ассоциативный массив, в котором дни недели имеют сокращенное обозначение ключа:

$ days_of_week = array (‘mon’ => ‘понедельник’, ‘tue’ => ‘вторник’, ‘wed’ => ‘среда’, ‘thu’ => ‘четверг’, ‘fri’ => ‘пятница’, ‘sat’ => ‘Суббота’, ‘sun’ => ‘Воскресенье’);

Читать также:  Пользовательский параллакс без какихлибо библиотек

Другой пример ассоциативного массива — список социальных сетей:

$ social_networks = array (‘fb’ => ‘Facebook’, ‘tw’ => ‘Twitter’, ‘gplus’ => ‘Google Plus’, ‘li’ => ‘LinkedIn’, ‘insta’ => ‘Instagram’ );

Как вы можете видеть в приведенном выше примере, некоторые из клавиш состоят из двух букв, другие более описательны, но всегда служат сокращением имени социальной сети..

Приведенный выше пример можно использовать в случае, когда мы хотим показать список, в котором мы используем разные стили для каждого элемента, отображаемого на нашей веб-странице. Мы можем основывать эти стили на классах и использовать верхний массив для:

echo ‘ul id =’ социальные сети ‘>’;
foreach ($ social_networks как $ class => $ label) {echo ‘li class = "’. $ class. ‘">’. $ label. ‘/ li>’; }
эхо ‘/ ul>’;

Читать также:  Установите Apache 2 4 в Windows

Таким образом, мы можем легко комбинировать с простым CSS, чтобы показать каждую сеть другим цветом:

.fb {цвет: синий; } .tw {цвет: голубой; } .gplus {цвет: красный; } .li {цвет: темно-синий; } .insta {color: blueviolet; }

Встроенные ассоциативные массивы

Чтобы было немного интереснее, давайте посмотрим на следующее:

$ social_links = array (‘facebook’ => array (‘url’ => ‘http://facebook.com/’, ‘label’ => ‘Facebook’), ‘twitter’ => array (‘url’ => ‘http://twitter.com/’, ‘label’ => ‘Twitter’), ‘google-plus’ => array ‘(url’ => ‘http://plus.google.com/’, ‘label ‘=>’ Google Plus ‘));
echo ‘ul class =’ ​​social-links "> ‘;
foreach ($ social_links как $ class => $ data) {echo ‘li class = "’. $ class. ‘">’; echo ‘a href = "’. $ data [‘url’]. ‘">’. $ data [‘метка’]. ‘/ a>’; эхо ‘/ ли>’; }
эхо ‘/ ul>’;

Читать также:  Активное состояние меню блога при чтении сообщения блога

Сначала с помощью цикла foreach мы обходим все элементы, используя ключ для дополнительных стилей. Мы даже можем показать значок, описанный в CSS. Остальная информация представлена ​​в виде нового ассоциативного массива. Его данные доступны как $ data [‘url’] и $ data [‘label’]..

Как видите, использование ассоциативных массивов удобно по 2 основным причинам:

  1. пара ключ-значение, где новый ключ больше информации, чем просто некоторый порядковый номер
  2. легкий доступ к значениям из массива без необходимости запоминать точный индекс элемента и даже порядок определения
Понравилась статья? Поделиться с друзьями:
Что нужно знать пользователю?