PHP и Ruby са
Типът на вградения масив на PHP в действителност е асоциативен масив. Дори когато използвате цифрови индекси, PHP вътрешно го съхранява като асоциативен масив. Ето защо един в PHP може да има непоследователни числово индексирани масиви. Ключовете трябва да са скаларни стойности (низ, число с плаваща запетая или цяло число), докато стойностите могат да бъдат от произволен тип, включително други масиви и обекти. Масивите са разнородни; един масив може да има ключове от различни видове. PHP асоциативните масиви могат да се използват за представяне на дървета, списъци, стекове, опашки и други общи структури от данни, които не са вградени в PHP.
В PHP асоциативен масив може да се формира по един от два начина:
$ phonebook = масив (); $ телефонен указател ['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 => $ число) echo "Номер за $ name: $ номер \ n";
// За последния пример на масив се използва като този foreach ($ phonebook ['контакти'] като $ name => $ num) echo "Име: $ name"; ехо "Номер: $ num ['число']";
PHP има богат набор от функции за работа с масиви.
В Ruby асоцииран масив се нарича Hash и се използва, както следва:
телефонен указател = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Случаен хакер '=>' 553-1337 '
телефонен указател ['John Doe']
произвежда "555-1212"
За да повторите хеша, използвайте нещо като следното:
phonebook.each | ключ, стойност | поставя ключ + "=>" + стойност
Освен това всеки клавиш може да се показва поотделно:
телефонна книга.each_key | ключ | поставя ключ
Всяка стойност може също да бъде показана:
phonebook.each_value | стойност | поставя стойност