Làm việc với mảng nhiều chiều PHP
Tất cả các mảng mà ta vừa làm việc với trong phần trước chỉ chứa những giá trị đơn như là chuỗi kí tự và số thập
phân. Tuy nhiên, mảng còn có những tính năng mạnh mẽ hơn nhiều. Mảng PHP có thể chứa những giá trị ở bất cứ dạng
nào. Nó bao gồm tài nguyên, objects, và quan trọng hơn là chứa cả mảng. Khả năng của mảng chứa các mảng khác
trong phần tử của nó cho phép bạn tạo những mảng nhiều chiều. Một mảng chứa các mảng khác gọi là mảng 2 chiều.
Nếu những mảng này lại chứa những mảng khác thì gọi là mảng 3 chiều.
Tạo mảng nhiều chiều
Đoạn script sau tạo một mảng hai chiều đơn giản gọi là $myBook và sau đó hiển thị nội dung sử dụng print_r().
<?php
$myBook=array(
array(
“title”=>”The grape of wrath”;
“author”=>”John Steibeck”;
“pubYear”=>1939
),
array(
“title”=>”The trial”;
“author”=>”Franz Kaflea”;
“pubYear”=>1925
),
array(
“title”=>”The Hobbit”;
“author”=>”J.K.R Tolkien”;
“pubYear”=>1937
),
array(
“title”=>”A tale of two cities”;
“author”=>”Charles Dickens”;
“pubYear”=>1859
),
);
echo “<pre>”;
print_r($myBook);
echo “</pre>”;
?>
Như bạn có thể thấy, đoạn script này tạo một mảng chỉ số $myBook, chứa 4 phần tử với key là 0,1,2,3. Đến lượt
mỗi phần tử là một mảng chỉ số liên quan chứa 3 phần tử với key là title, author, và pubYear.
Mặc dù mảng trên là một ví dụ đơn giản, nhưng nó cung cấp cho bạn một vài định hình về khái niệm của mảng nhiều
chiều. Bạn có thể lưu trữ hàng ngàn quyến sách trong mảng này với bất cứ thông tin nào bạn muốn về mỗi quyển
sách.
Truy cập phần tử của mảng nhiều chiều
Sử dụng cú pháp [ ], bạn có thể truy cập bất cứ phần tử nào trong mảng nhiều chiều.
//hiển thị array với chỉ số bằng 1
print_r($myBook[1]);
//hiển thị the trial
echo “<br/>”.$myBook[1][“title”].”<br/>”;
//hiển thị 1859
echo $myBook[2][“pubYear”].”<br/>”;
Như bạn có thể thấy, bạn sử dụng 2 keys trong một cặp dấu [ ]. Key đầu tiên là chỉ mục số của phần tử ở mảng mẹ, và
key thứ hai là chỉ số liên quan của phần tử ở mảng con. Trong ví dụ này, key đầu tiên chọn mảng chỉ số liên quan
bạn muốn truy cập và key thứ hai chọn phần tử trong mảng chỉ số liên quan đó.