Array adalah kumpulan beberapa data yang disimpan dalam satu variabel. Jadi, berbeda dengan variabel sebelumnya yang hanya menyimpan satu nilai saja, array dapat menampung lebih dari satu nilai. Sebagai contoh, kita akan menyimpan data teman-teman kita dalam satu variabel $teman. Ada tiga orang teman yang akan kita masukkan ke dalam variabel tersebut. Secara visual, dapat digambarkan sebagai berikut:

Tiap nilai dalam array (disebut elemen) diakses dengan menggunakan index. PHP mengenal dua macam index, yaitu index numerik dan index asosiatif. Index numerik menggunakan angka untuk menandai tiap elemen, sedangkan index asosiatif memberi nama untuk masing-masing elemen. Penggunaan index akan dibahas lebih detail di bawah.
1. Inisialisasi array
Inisialisasi (mengisi nilai) array $teman di atas dilakukan dengan cara sebagai berikut :
$teman = array("Charlie", "Ani", "Budi");
Kode di atas akan menjadikan $teman array berindex numerik. Selain dengan cara di atas, kita juga dapat membuat array yang sama dengan cara :
$teman[] = "Charlie";
$teman[] = "Ani";
$teman[] = "Charlie";
hasilnya adalah array berindeks numerik yang dapat digambarkan sebagai berikut :

untuk membuat array berindex asosiatif, kita membutuhkan label atau nama untuk masing-masing elemen. Contoh di atas akan dikembangkan agar dapat menyimpan nomer telepon masing-masing teman. Gambaran visualnya adalah sebagai berikut:

pada gambar di atas, nama masing-masing teman akan dijadikan label untuk nilai nomer telepon yang disimpan. Kode programnya adalah sebagai berikut :
$rekan = array ("Charlie"=>123, "Ani"=>528, "Budi"=>456);
atau
$rekan = array("Charlie"=>123);
$rekan ["Ani"] = 528;
$rekan ["Budi"] = 456;
2. Navigasi array
Navigasi (mengakses nilai) array dapat dilakukan dengan looping. Misalnya untuk menampilkan isi array berindex numerik di atas, kita akan menggunakan kode seperti berikut :
for($i=0; $i<length($teman);$i++){
echo("Array \$teman index ke [$i] adalah $teman[$i]"); echo("<br>");
}
Untuk mengakses array berindex asosiatif, kita tidak dapat menggunakan loop seperti di atas, karena label/index elemen disimpan dalam bentuk string. Loop untuk mengakses array berindex asosiatif dapat dilihat pada sampel kode di bawah :
while(list($index, $nilai) = each($rekan)){ echo("Array \$rekan index $index berisi nilai $nilai"); echo("<br>");
}
ada dua fungsi yang terlibat di atas, each dan list. Fungsi each berguna untuk mengakses masing-masing elemen dalam array. Elemen yang dihasilkan adalah pasangan key dan value, dimana key adalah indexnya dan value adalah isinya. Pasangan tersebut akan dipisahkan oleh fungsi list dan dimasukkan ke dalam variabel $index dan $nilai.
3. Fungsi-fungsi array
sort
Elemen-elemen dalam array dapat diurutkan dengan menggunakan fungsi sort(). Contoh penggunaannya adalah sebagai berikut :
sort($teman);
for($i=0; $i<length($teman);$i++){
echo("Array \$teman index ke [$i] adalah $teman[$i]"); echo("<br>");
}
akan menghasilkan output:
Array teman index ke 0 adalah Ani
Array teman index ke 1 adalah Budi
Array teman index ke 2 adalah Charlie
asort dan ksort
Asort digunakan untuk mengurutkan asosiatif array menurut isinya. Contoh penggunaan:
asort($rekan);
while(list($index, $nilai) = each($rekan)){ echo("Array \$rekan index $index berisi nilai $nilai"); echo("<br>");
}
akan menghasilkan output:
Array $rekan index Charlie berisi nilai 123
Array $rekan index Budi berisi nilai 456
Array $rekan index Ani berisi nilai 528
ksort digunakan untuk mengurutkan asosiatif array menurut indexnya. Contoh penggunaan:
ksort($rekan);
while(list($index, $nilai) = each($rekan)){ echo("Array \$rekan index $index berisi nilai $nilai"); echo("<br>");
}
akan menghasilkan output:
Array $rekan index Ani berisi nilai 528
Array $rekan index Budi berisi nilai 456
Array $rekan index Charlie berisi nilai 123