PHP і Ruby є
Вбудований тип масиву PHP насправді є асоціативним масивом. Навіть при використанні числових індексів PHP внутрішньо зберігає його як асоціативний масив. Ось чому один у PHP може мати не послідовні числові індексовані масиви. Ключі повинні бути скалярними значеннями (рядок, число з плаваючою комою або ціле число), тоді як значення можуть бути довільного типу, включаючи інші масиви та об'єкти. Масиви неоднорідні; в одному масиві можуть бути ключі різних типів. Асоціативні масиви PHP можуть використовуватися для представлення дерев, списків, стеків, черг та інших загальних структур даних, не вбудованих у PHP.
У PHP асоціативний масив може бути сформований одним із двох способів:
$ телефонна книга = масив (); $ телефонна книга ['Sally Smart'] = '555-9999'; $ телефонна книга ['John Doe'] = '555-1212'; $ телефонна книга ['J. Випадковий хакер '] =' 555-1337 '; // або $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // або $ телефонна книга ['контакти'] ['Sally Smart'] ['число'] = '555-9999'; $ телефонна книга ['контакти'] ['Джон Доу'] ['номер'] = '555-1212'; $ телефонна книга ['контакти'] ['J. Випадковий хакер '] [' число '] =' 555-1337 ';
Ви також можете пройти цикл через асоціативний масив у PHP наступним чином:
foreach ($ телефонна книга як $ name => $ number) echo "Номер для $ name: $ число \ n";
// Для останнього прикладу масиву використовується такий foreach ($ телефонна книга ['контакти'] як $ name => $ num) echo "Ім'я: $ name"; ехо "Номер: $ num ['число']";
PHP має широкий набір функцій для роботи з масивами.
У Ruby асоційований масив називається Hash і використовується таким чином:
телефонна книга = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Випадковий хакер '=>' 553-1337 '
телефонна книга ["Джон Доу"]
виробляє '555-1212'
Щоб повторити хеш, використовуйте щось подібне:
phonebook.each | ключ, значення | ставить ключ + "=>" + значення
Крім того, кожна клавіша може відображатися окремо:
телефонна книга.each_key | ключ | кладе ключ
Кожне значення може також відображатися:
телефонна книга.each_value | значення | ставить значення