PHP ja Ruby ovat
PHP: n sisäänrakennettu matriisityyppi on todellisuudessa assosiatiivinen matriisi. Jopa numeerisia indeksejä käytettäessä, PHP tallentaa sen sisäisesti assosiatiivisena taulukkona. Siksi yhdellä PHP: llä voi olla ei-peräkkäiset numeerisesti indeksoidut taulukot. Näppäimien on oltava skalaariarvoja (merkkijono, liukuluku tai kokonaisluku), kun taas arvot voivat olla mielivaltaisia, mukaan lukien muut taulukot ja objektit. Taulukot ovat heterogeenisiä; Yhdessä ryhmässä voi olla erityyppisiä avaimia. PHP: n assosiatiivisia taulukkoja voidaan käyttää edustamaan puita, luetteloita, pinoja, jonoja ja muita yleisiä tietorakenteita, joita ei ole rakennettu PHP: hen.
PHP: ssä assosiatiivinen taulukko voidaan muodostaa kahdella tavalla:
$ puhelinluettelo = array (); $ puhelinluettelo ['Sally Smart'] = '555-9999'; $ puhelinluettelo ['John Doe'] = '555-1212'; $ Puhelinluettelo [ 'J. Random Hacker '] =' 555-1337 '; // tai $ puhelinluettelo = ryhmä ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // tai $ puhelinluettelo ['yhteystiedot'] ['Sally Smart'] ['numero'] = '555-9999'; $ puhelinluettelo ['yhteystiedot'] ['John Doe'] ['numero'] = '555-1212'; $ Puhelinluettelon [ 'kontaktit'] [ 'J. Random Hacker '] [' numero '] =' 555-1337 ';
Voit myös käydä läpi assosiatiivisen taulukon PHP: ssä seuraavasti:
foreach ($ puhelinluettelo nimellä $ nimi => $ numero) echo "Numero $ nimi: $ numero \ n";
// Viimeisessä taulukkoesimerkissä sitä käytetään kuten tämä kurssi ($ puhelinluettelo ['yhteystiedot'] nimellä $ nimi => $ numero) echo "Nimi: $ nimi"; kaiku "Numero: $ num ['numero']";
PHP: llä on laaja joukko toimintoja ryhmille.
Ruby-ryhmässä assosioitunutta taulukkoa kutsutaan Hashiksi ja sitä käytetään seuraavasti:
puhelinmuistio = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Satunnainen hakkeri '=>' 553-1337 '
puhelinluettelo ['John Doe']
tuottaa '555-1212'
Toistaaksesi hashilla, käytä jotain seuraavaa:
puhelinluettelo.suuri | avain, arvo | asettaa näppäimen + "=>" + arvon
Lisäksi jokainen näppäin voidaan näyttää erikseen:
puhelinmuistio.näppäin | avain | asettaa avaimen
Jokainen arvo voidaan myös näyttää:
puhelinmuistio.arvon_arvo | arvo | tuo arvo