PHP dan Ruby adalah
Jenis array terbina dalam PHP sebenarnya dalam pelbagai penyatuan. Walaupun menggunakan indeks berangka, PHP secara dalaman menyimpannya sebagai array bersekutu. Inilah sebabnya mengapa seseorang di PHP boleh mempunyai tatasusunan diindeks secara berurutan yang tidak berturut-turut. Kekunci perlu mempunyai nilai skalar (rentetan, nombor terapung atau integer), sementara nilai boleh menjadi jenis sewenang-wenang, termasuk array dan objek lain. Arahan adalah heterogen; Satu susunan tunggal boleh mempunyai kunci pelbagai jenis. Array persatuan PHP boleh digunakan untuk mewakili pokok, senarai, susunan, beratur dan struktur data biasa yang tidak dibina ke PHP.
Dalam PHP, pelbagai asosiatif boleh dibentuk dalam salah satu daripada dua cara:
$ phonebook = array (); $ phonebook ['Sally Smart'] = '555-9999'; $ phonebook ['John Doe'] = '555-1212'; $ phonebook ['J. Hacker Rawak '] =' 555-1337 '; // atau $ phonebook = array ('Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker' => '555-1337',); // or $ phonebook ['contacts'] ['Sally Smart'] ['number'] = '555-9999'; $ phonebook ['contacts'] ['John Doe'] ['number'] = '555-1212'; $ phonebook ['contacts'] ['J. Hacker Rawak '] [' number '] =' 555-1337 ';
Anda juga boleh gelung melalui pelbagai asosiatif dalam PHP seperti berikut:
foreach ($ phonebook as $ name => $ number) echo "Number for $ name: $ number \ n";
// Untuk contoh array terakhir digunakan seperti foreach ini ($ phonebook ['contacts'] as $ name => $ num) echo "Name: $ name"; echo "Number: $ num ['number']";
PHP mempunyai set fungsi yang luas untuk beroperasi pada tatasusunan.
Dalam Ruby array bersekutu dipanggil Hash dan digunakan seperti berikut:
phonebook = 'Sally Smart' => '555-9999', 'John Doe' => '555-1212', 'J. Random Hacker '=>' 553-1337 '
buku telefon ['John Doe']
menghasilkan '555-1212'
Untuk mengulangi hash, gunakan sesuatu seperti berikut:
phonebook.each | key, value | meletakkan kekunci + "=>" + nilai
Di samping itu, setiap kunci boleh ditunjukkan secara individu:
phonebook.each_key | key | meletakkan kunci
Setiap nilai juga boleh ditunjukkan:
phonebook.each_value | value | meletakkan nilai