Liên hệ
php cơ bản

Mảng trong Php

Khai báo mảng dạng chỉ số, mảng kết hợp, mảng nhiều chiều trong Php

Khái niệm mảng trong Php

Mảng Array là một loại biến đặc biệt, trong nó giữ nhiều giá trị. Nếu bạn có một danh sách, ví dụ như danh sách tên chẳng hạn, bạn có thể dùng các biến thông thường để lưu trữ:

    $name1 = "Nam";
    $name2 = "Minh";
    $name3 = "Hạnh";

Nhưng nếu bạn có danh sách dài, hàng trăm cái tên mà sử dụng kiểu như vậy khá mệt mỏi, giải pháp lúc này đó là mảng.

Mảng chỉ số là số - Numeric Array

Đây là loại mảng mà tương quan giữa chỉ số là một số nguyên và giá trị kèm theo chỉ số đó. Một biến mảng dạng này chỉ số sẽ gán một cách tự động và bắt đầu từ chỉ số là số 0. Trở lại ví dụ trên, có thể khởi tạo bằng một biến mảng có chỉ số là số như sau:

Cách một khởi tạo mảng và gán giá trị phần tử cho mảng luôn:

   $names = array("Nam", "Minh", "Hạnh");

Cách hai là gán giá trị và vị trí chỉ số tương ứng:

    $names[0] = "Nam";
    $names[1] = "Minh";
    $names[2] = "Hạnh";

Với cách khai báo như vậy, nó là mảng có chỉ số dạng số, để lấy phần tử nào thì chỉ cần chỉ ra chỉ số phần tử đó trong dấu [] cạnh tên biến mảng. Ví dụ:

    echo $names[1];

    //Sẽ in ra: "Minh"

Nhở là chỉ số của mảng bao giờ cũng bắt đầu từ 0 chứ không phải 1

Các phần tử của mảng này (giá trị) có thể lưu trữ bất kỳ loại biến nào, có thể là chuỗi, số nguyên, một mảng khác, boolean ... Ví dụ:

    $arrayData[0] = '<strong>Mèo</strong>';
    $arrayData[1] = '4';
    $arrayData[2] = 'chân';
    echo "$arrayData[0] có $arrayData[1] $arrayData[2]";

In ra:

Mèo có 4 chân

Mảng kết hợp - Associative Arrays

Mảnh kết hợp này thì tên chỉ số là một giá trị nào đó do bạn gán vào, có thể là một string hay một số ...
Cũng có hai cách khởi tạo mảng này, ví dụ:

    $ages = array("Nam"=>"19", "Minh"=>"20", "Hạnh"=>"18");

    //hoặc

    $ages['Nam'] = "19";
    $ages['Minh'] = "20";
    $ages['Hạnh'] = "18";

Ở ví dụ trên chỉ số không còn là số nữa mà là các chuỗi Nam, Minh, Hạnh tương ứng với chỉ số này là giá trị 19, 20, 18. Ví dụ để in ra tuổi của Minh:

    echo $ages['Minh'];

    //Sẽ in ra : 20

Mảng nhiều chiều - Associative Arrays

Mảng nhiều chiều là mảng trong nó chứa một hay nhiều mảng khác (có nghĩa là phần tử của mảng có giá trị là một mảng khác). Số chiều của mảng tương ứng với cặp [] để chọn phần tử mảng.
- Mảng một chiều: [chỉ-số]
- Mảng hai chiều: [chỉ-số-1][chỉ-số-2]
- Mảng ba chiều: [chỉ-số-1][chỉ-số-2][chỉ-số-3]

Mảng rất tiện dụng và mạnh mẽ, nhưng các mảng có hơn ba chiều, quản lý nó khá hại não. Vậy đừng lạm dụng mảng hơn ba chiều nhá

Ví dụ dưới đây là mảng hai chiều:


    $students = array(
        'Lớp A1' => array('Huệ', 'Long'),
        'Lớp A2' => array('Trang', 'Nam', 'Binh');
        'Lớp A3' => array('Hạnh', 'Hiền', 'Thủy', 'Việt');
    );

    echo $students['Lớp A2'][1];  //In ra Nam;
    echo $students['Lớp A3'][2];  //In ra Thủy;

Vui lòng đăng ký ủng hộ kênh