Mảng kết hợp đơn giản là loại mảng nhưng:
Chúng ta đi xem ví dụ:
<?php
$mang=array("a","b","c");
echo$mang[0]
?>
Đây là mảng cơ bản của chúng ta,và khi lấy giá trị của một phần tử trong mảng ra, ta tham chiếu tới nó với khoá là giá trị thứ tự của nó.
Điểm khác biệt của mảng kết hợp là cái khoá.
Ta có thể khai báo như sau:
<?php
$mang=array("name"=>"Nguyên","website"=>" ");
echo$mang["name"]
?>
kết quả sẽ là :Nguyên ta cũng có thể khai báo với cách khác như sau:
$mang=array();
$mang["name"]="Nguyên";
$mang["website"]=" ";
Cách duyệt qua mạng này cũng hơi khác với mảng một chiều. Để duyệt mảng ta kết hợp vòng lặp while và lis()=each()
Ví dụ để lấy cả khoá lẫn giá trị ta làm như sau:
<?php
$mang=array("name"=>"Nguyên","website"=>" ");
while(list($key,$value)=each($mang))
{
echo"<b>Khoá</b>: ".$key." <b>giá trị</b>: ".$value."<br />";
}
?> Còn ví dụ chỉ muốn lấy ra giá trị thì chỉ khác ở mỗi dòng vòng lặp
while:while(list(,$value)=each($mang))
bỏ đi biến $key, nhưng vẫn để trước biến $value dấu ( , )
Giải thích nguyên lý làm việc như sau:
Mỗi lần vòng lặp chạy each()sẽ lấy ra lần lượt một cặp khoá và giá trị tương ứng.
2 giá trị đó sẽ được gán lần lượt cho biến ở vị trí thứ nhất và thứ hai đạt trong list()
Vòng lặp dừng lại khi duyệt qua hết mảng.