Mảng

Trong hướng dẫn sau, chúng ta sẽ học cách lưu trữ nhiều giá trị trong một biến duy nhất trong PHP - Mảng PHP

Mảng trong PHP là gì?

Mảng là các biến cho phép chúng ta lưu trữ nhiều hơn một giá trị hoặc một nhóm giá trị dưới một tên biến duy nhất. Giả sử bạn muốn lưu trữ màu trong PHP của mình. Hãy lưu trữ từng màu một trong một biến có thể trông giống như sau:

Ví dụ

<?php
$color1 = "Red";
$color2 = "Green";
$color3 = "Blue";
?>

Nhưng điều gì xảy ra, nếu bạn muốn lưu trữ các tiểu bang hoặc tên thành phố của một quốc gia trong các biến và lần này không chỉ ba mà có thể là hàng trăm. Việc lưu trữ mỗi tên thành phố trong một biến riêng biệt là một việc khá khó, nhàm chán và là một ý tưởng không tốt. Và đây mảng - array phát huy tác dụng.

Các loại mảng trong PHP

Có ba loại mảng mà bạn có thể tạo là:

  • Mảng được lập chỉ mục (Indexed array) - Mảng có khóa là các số.
  • Mảng đa chiều (Multidimensional array) - Mảng chứa một hoặc nhiều mảng trong chính mảng đó.
  • Mảng liên kết (Associative array) - Mảng trong đó mỗi khóa có giá trị cụ thể của riêng nó.

Mảng được lập chỉ mục

Mảng được lập chỉ mục hoặc mảng số lưu trữ mỗi phần tử của mảng với một chỉ mục số. Các ví dụ sau đây cho thấy hai cách để tạo một mảng được lập chỉ mục theo cách dễ nhất là:

Ví dụ

<?php
// Define an indexed array
$colors = array("Red", "Green", "Blue");
?>
 

Lưu ý: Trong mảng được lập chỉ mục hoặc mảng số, các chỉ mục sẽ được gán tự động và bắt đầu bằng 0 và các giá trị có thể là bất kỳ kiểu dữ liệu nào.

 

Điều này tương ứng với ví dụ sau, trong đó các chỉ mục được gán theo cách thủ công:

Ví dụ

<?php
$colors[0] = "Red"; 
$colors[1] = "Green"; 
$colors[2] = "Blue"; 
?>

 

Mảng đa chiều

Mảng nhiều chiều là một mảng trong đó mỗi phần tử cũng có thể là một mảng và mỗi phần tử trong mảng con có thể là một mảng hoặc chứa nhiều mảng bên trong chính nó,...

Ví dụ về mảng đa chiều như sau:

Ví dụ

<?php
// Define a multidimensional array
$contacts = array(
    array(
        "name" => "Peter Parker",
        "email" => "peterparker@mail.com",
    ),
    array(
        "name" => "Clark Kent",
        "email" => "clarkkent@mail.com",
    ),
    array(
        "name" => "Harry Potter",
        "email" => "harrypotter@mail.com",
    )
);
// Access nested value
echo "Peter Parker's Email-id is: " . $contacts[0]["email"];
?>

Mảng liên kết

Trong một mảng kết hợp, các khóa được gán cho các giá trị có thể là các chuỗi tùy ý và do người dùng xác định.

Trong ví dụ sau, mảng sử dụng các khóa thay vì số chỉ mục:

Ví dụ

<?php
// Define an associative array
$ages = array("Peter"=>22, "Clark"=>32, "John"=>28);
?>

Ví dụ sau sẽ giống với ví dụ trước, nhưng hiển thị một cách khác để tạo mảng liên kết:

Ví dụ

<?php
$ages["Peter"] = "22";
$ages["Clark"] = "32";
$ages["John"] = "28";
?>

Xem cấu trúc và giá trị của mảng

Bạn có thể xem cấu trúc và giá trị của bất kỳ mảng nào bằng cách sử dụng 1 trong 2 câu lệnh này var_dump() hoặc print_r()  . 

Hãy xem xét ví dụ sau:

<?php
// Define array
$cities = array("London", "Paris", "New York");
 
// Display the cities array
print_r($cities);
?>

Câu lệnhprint_r() cho kết quả sau:

Array ( [0] => London [1] => Paris [2] => New York )

Kết quả này hiển thị khóa và giá trị cho mỗi phần tử trong mảng.

 

Để biết thêm thông tin, hãy sử dụng câu lệnh dump() sau:

Ví dụ

<?php
// Define array
$cities = array("London", "Paris", "New York");
 
// Display the cities array
var_dump($cities);
?>

Câu lệnh var_dump() này cho ra kết quả sau:

array(3) { [0]=> string(6) "London" [1]=> string(5) "Paris" [2]=> string(8) "New York" }

Kết quả này hiển thị kiểu dữ liệu của mỗi phần tử, chẳng hạn như một chuỗi gồm 6 ký tự, ngoài khóa & giá trị.

Trong các chương tiếp theo, bạn sẽ được học cách sắp xếp các phần tử của mảng.

Bạn sẽ học cách sử dụng vòng lặp qua các giá trị của một mảng trong chương sau.

 

Bài viết mới cập nhật