Mảng (Array) trong PHP

Mảng là một biến danh sách chứa nhiều phần tử có kiểu dữ liệu chữ hoặc số. Trong PHP, có thể tạo ra một mảng không đồng nhất về mặt kiểu dữ liệu. Để tìm hiểu về mảng trong PHP mời bạn đọc cùng eLib tham khảo bài viết dưới đây.

Mảng (Array) trong PHP

1. Tạo một mảng trong PHP

Mảng (Array) trong PHP là một biến lưu trữ nhiều hơn một phần dữ liệu liên quan trong một biến. 

Trong PHP, hàm array() được sử dụng để tạo một mảng:

array();

2. Các loại mảng trong PHP

Có 3 loại mảng trong PHP.

  • Mảng được lập chỉ mục.
  • Mảng liên kết.
  • Mảng đa chiều.

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

Chỉ mục trong PHP được biểu thị bằng số bắt đầu từ 0. Chúng ta có thể lưu trữ số, chuỗi và đối tượng trong mảng PHP. Tất cả các phần tử mảng PHP được gán cho một số chỉ mục theo mặc định.

Có hai cách để định nghĩa mảng được lập chỉ mục:

Chỉ mục có thể được chỉ định tự động (chỉ mục luôn bắt đầu ở 0)

$season = array("summer","winter","spring","autumn");

Chỉ mục có thể được gán theo cách thủ công

$season[0]="summer";
$season[1]="winter";
$season[2]="spring";
$season[3]="autumn"

Để duyệt các phần tử của mảng được lập chỉ mục trong PHP, bạn có thể sử dụng vòng lặp for, như sau:

Ví dụ 1: array1.php

<?php
$season = array(
    "summer",
    "winter",
    "spring",
    "autumn"
);

// tính độ dài của mảng
$arrlength = count($season);
// hiển thị các phần tử của mảng
for ($i = 0;$i < $arrlength;$i++)
{
    echo $season[$i];
    echo "<br>";
}
?>

Kết quả:

summer
winter
spring
autumn

Ví dụ 2: array2.php

<?php
$season[0] = "summer";
$season[1] = "winter";
$season[2] = "spring";
$season[3] = "autumn";

// tính độ dài của mảng
$arrLength = count($season);
// hiển thị các phần tử của mảng
for ($i = 0;$i < $arrLength;$i++)
{
    echo $season[$i];
    echo "<br>";
}
?>

Kết quả:

summer
winter
spring
autumn

2.2 Mảng liên kết trong PHP

Mảng liên kết là các mảng sử dụng các khóa được đặt tên mà bạn gán cho chúng.

Có hai cách để tạo một mảng liên kết trong PHP:

$dbInfo = array("url"=>"jdbc:mysql://localhost:3306", "dbName"=>"testdb",
        "username"=>"root", "password"=>"123123123");

hoặc là:

$dbInfo ['url'] = "jdbc:mysql://localhost:3306";
$dbInfo ['dbName'] = "testdb";
$dbInfo ['username'] = "root";
$dbInfo ['password'] = "123123123";

Để duyệt các phần tử của mảng liên kết trong PHP, bạn có thể sử dụng vòng lặp foreach, như sau:

Ví dụ 1: array3.php

<?php
$dbInfo = array(
    "url" => "jdbc:mysql://localhost:3306",
    "dbName" => "testdb",
    "username" => "root",
    "password" => "123123123"
);

foreach ($dbInfo as $x => $x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>

Kết quả:

Key = url, Value = jdbc:mysql://localhost:3306
Key = dbName, Value = testdb
Key = username, Value = root
Key = password, Value = 123123123

Ví dụ 2: array4.php

<?php
$dbInfo['url'] = "jdbc:mysql://localhost:3306";
$dbInfo['dbName'] = "testdb";
$dbInfo['username'] = "root";
$dbInfo['password'] = "123123123";

foreach ($dbInfo as $x => $x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>

Kết quả:

Key = url, Value = jdbc:mysql://localhost:3306
Key = dbName, Value = testdb
Key = username, Value = root
Key = password, Value = 123123123

2.3 Mảng đa chiều trong PHP

Mảng đa chiều là một mảng chứa một hoặc nhiều mảng.

Bạn có thể sử dụng các mảng PHP đa chiều có độ sâu hai, ba, bốn, năm, hoặc nhiều hơn. Tuy nhiên, các mảng nhiều hơn ba cấp độ rất khó quản lý.

Kích thước của một mảng cho biết số lượng chỉ mục bạn cần chọn một phần tử.

  • Đối với mảng hai chiều, bạn cần hai chỉ mục để chọn một phần tử.
  • Đối với mảng ba chiều, bạn cần ba chỉ mục để chọn một phần tử.

Mảng 2 chiều trong PHP

Mảng hai chiều là một mảng các mảng (mảng ba chiều là mảng mảng mảng).

Ta có bảng sau:

Tên Kho Đã bán
Iphone X 22 18
Sony Z10 15 13
Samsung Note 10 5 2
Xiaomi 6 17 15

Chúng ta có thể lưu trữ dữ liệu của bảng trên vào mảng 2 chiều như sau:

$hang_hoa = array
  (
  array("Iphone X",22,18),
  array("Sony Z10",15,13),
  array("Samsung Note 10",5,2),
  array("Xiaomi 6",17,15)
  );

Bây giờ mảng hai chiều $hang_hoa chứa bốn mảng, và nó có hai chỉ số: hàng và cột.

Để truy cập vào các phần tử của mảng $hang_hoa , chúng ta phải trỏ đến hai chỉ mục (hàng và cột):

Chúng ta cũng có thể đặt một vòng lặp for bên trong một vòng lặp for khác để lấy các phần tử của mảng $hang_hoa.

Ví dụ: file mang-2-chieu.php

<?php
$hang_hoa = array(
    array(
        "Iphone X",
        22,
        18
    ) ,
    array(
        "Sony Z10",
        15,
        13
    ) ,
    array(
        "Samsung Note 10",
        5,
        2
    ) ,
    array(
        "Xiaomi 6",
        17,
        15
    )
);

for ($row = 0;$row < 4;$row++)
{
    echo "<p><b>Row number $row</b></p>";
    echo "<ul>";
    for ($col = 0;$col < 3;$col++)
    {
        echo "<li>" . $hang_hoa[$row][$col] . "</li>";
    }
    echo "</ul>";
}
?>

Kết quả:

Row number 0

Iphone X
22
18
Row number 1

Sony Z10
15
13
Row number 2

Samsung Note 10
5
2
Row number 3

Xiaomi 6
17
15

Trên đây là bài viết của eLib về Mảng trong PHP. Hiểu rõ về mảng và sự sắp xếp đồng bộ các phần tử sẽ hữu ích trong các ứng dụng lớn. Chúc các bạn thành công!

Ngày:09/10/2020 Chia sẻ bởi:

CÓ THỂ BẠN QUAN TÂM