Mảng là một cấu trúc dữ liệu lưu trữ một hoặc nhiều loại giá trị tương tự trong một giá trị duy nhất. Ví dụ: nếu bạn muốn lưu trữ 100 số thì thay vì xác định 100 biến thì bạn có thể dễ dàng để xác định một mảng có độ dài 100. Bài viết sau đây sẽ giới thiệu đến các bạn khái niệm về mảng và các loại mảng trong PHP.
Mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Ví dụ: nếu bạn có danh sách các mục (danh sách tên xe), việc lưu trữ ô tô trong các biến đơn lẻ có thể trông giống như sau:
$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";
Tuy nhiên, nếu bạn muốn lặp qua những chiếc xe và tìm một chiếc xe cụ thể? Nhưng nếu bạn không có 3 chiếc xe mà là 300 chiếc thì sao?
Giải pháp là tạo một mảng!
Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham chiếu đến số chỉ mục.
Trong PHP, array()hàm được sử dụng để tạo một mảng:
array();
Có ba loại mảng khác nhau và mỗi giá trị mảng được truy cập bằng ID được gọi là chỉ mục mảng.
Mảng số - Một mảng có chỉ số bằng số. Giá trị được lưu trữ và truy cập trong thời trang tuyến tính.
Mảng kết hợp - Một mảng có chuỗi là chỉ mục. Điều này lưu trữ các giá trị phần tử kết hợp với các giá trị chính thay vì theo thứ tự chỉ số tuyến tính nghiêm ngặt.
Mảng đa chiều - Một mảng chứa một hoặc nhiều mảng và giá trị được truy cập bằng nhiều chỉ mục.
Các mảng này có thể lưu trữ số, chuỗi và bất kỳ đối tượng nào nhưng chỉ mục của chúng sẽ được biểu diễn bằng số. Theo chỉ mục mảng mặc định bắt đầu từ số không.
Thí dụ:
Sau đây là ví dụ cho thấy cách tạo và truy cập mảng số. Ở đây chúng ta đã sử dụng hàm array () để tạo mảng. Hàm này được giải thích trong tham chiếu hàm.
/* First method to create array. */
$numbers = array( 1, 2, 3, 4, 5);
foreach( $numbers as $value ) {
echo "Value is $value
";
}
/* Second method to create array. */
$numbers[0] = "one";
$numbers[1] = "two";
$numbers[2] = "three";
$numbers[3] = "four";
$numbers[4] = "five";
foreach( $numbers as $value ) {
echo "Value is $value
";
}
?>
Điều này sẽ tạo ra kết quả sau:
Các mảng kết hợp rất giống với mảng số về mặt chức năng nhưng chúng khác nhau về chỉ mục của chúng. Mảng kết hợp sẽ có chỉ mục của chúng dưới dạng chuỗi để bạn có thể thiết lập mối liên kết chặt chẽ giữa khóa và giá trị.
Để lưu trữ tiền lương của nhân viên trong một mảng, một mảng được lập chỉ mục bằng số sẽ không phải là lựa chọn tốt nhất. Thay vào đó, chúng tôi có thể sử dụng tên nhân viên làm khóa trong mảng kết hợp của chúng tôi và giá trị sẽ là mức lương tương ứng của họ.
LƯU Ý - Không giữ mảng kết hợp bên trong báo giá kép trong khi in nếu không nó sẽ không trả về bất kỳ giá trị nào.
Thí dụ:
/* First method to associate create array. */
$salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);
echo "Salary of mohammad is ". $salaries['mohammad'] . "
";
echo "Salary of qadir is ". $salaries['qadir']. "
";
echo "Salary of zara is ". $salaries['zara']. "
";
/* Second method to create array. */
$salaries['mohammad'] = "high";
$salaries['qadir'] = "medium";
$salaries['zara'] = "low";
echo "Salary of mohammad is ". $salaries['mohammad'] . "
";
echo "Salary of qadir is ". $salaries['qadir']. "
";
echo "Salary of zara is ". $salaries['zara']. "
";
?>
Điều này sẽ tạo ra kết quả sau:
Mảng đa chiều mỗi phần tử trong mảng chính cũng có thể là một mảng. Và mỗi phần tử trong mảng phụ có thể là một mảng,… Giá trị trong mảng đa chiều được truy cập bằng nhiều chỉ mục.
Thí dụ: Trong ví dụ này, chúng ta tạo một mảng hai chiều để lưu trữ các dấu hiệu của ba học sinh trong ba môn học. Ví dụ này là một mảng kết hợp, bạn có thể tạo mảng số theo cùng một kiểu.
$marks = array(
"mohammad" => array (
"physics" => 35,
"maths" => 30,
"chemistry" => 39
),
"qadir" => array (
"physics" => 30,
"maths" => 32,
"chemistry" => 29
),
"zara" => array (
"physics" => 31,
"maths" => 22,
"chemistry" => 39
)
);
/* Accessing multi-dimensional array values */
echo "Marks for mohammad in physics : " ;
echo $marks['mohammad']['physics'] . "
";
echo "Marks for qadir in maths : ";
echo $marks['qadir']['maths'] . "
";
echo "Marks for zara in chemistry : " ;
echo $marks['zara']['chemistry'] . "
";
?>
Điều này sẽ tạo ra kết quả sau:
Một mảng trong PHP thực sự là một bản đồ có thứ tự. Bản đồ này là một loại liên kết các giá trị với các mảng, tối ưu hóa cho nhiều mục đích sử dụng khác nhau. Cập nhật những bài học mới nhất tại đây.
Các bài tập và tài liệu về PHP khác các bạn học viện nên đọc: