PHP – Arrays

Một mảng lưu trữ nhiều giá trị trong một biến duy nhất

<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

Mảng là gì

Một 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ó 1 list các item, Nếu lư trữ trong biến thông thường sẽ là

$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";

Nếu bạn muốn lặp qua danh sách và tìm 1 item, trong trường hợp bạn có 300 item? Giải pháp là tạo một mảng.

Một mảng có thể chứa nhiều giá trị trong một tên duy nhất. Bạn có thể truy cập các giá trị thông qua số index.

Tạo một Array trong PHP

Dùng array() để tạo một array.

array();

Trong PHP có 3 loại mảng:

  • Indexed arrays : Mảng với số index.
  • Associative arrays : Mảng với tên keys.
  • Multidimensional arrays : Mảng chứa một hoặc nhiều mảng.

Indexed Arrays

Có 2 cách để tạo Array index

index có thể tự thêm vào (bắt đầu bằng 0).

$cars = array("Volvo", "BMW", "Toyota");

Hoặc index có thể được thêm vào bằng tay.

$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";

Bên dưới chúng ta tạo một mảng tên $cars. Gán 3 giá trị vào nó. Và sau đó in chúng ra.


<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

Chiều dài của một mảng – hàm count()

count() function dùng để return về độ dài của mảng (Số phần tử)

<?php
$cars = array("Volvo", "BMW", "Toyota");
echo count($cars);
?>

Lặp qua mảng index

Để lặp qua và in tất cả các giá trị của một mảng index, bạn có thể sử dụng vòng lặp for.

<?php
$cars = array("Volvo", "BMW", "Toyota");
$arrlength = count($cars);

for($x = 0; $x < $arrlength; $x++) {
    echo $cars[$x];
    echo "<br>";
}
?>

Associative Arrays

Associative Arrays là mảng dùng tên keys để gán giá trị vào chúng.

Bạn có 2 cách để tạo associative array.

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

Hay

$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";

Tên keys có thể được dùng trong script.

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>

Lặp qua Associative Array

Để lặp qua và in tất cả các giá trị của Associative Array, bạn có thể sử dụng vòng lặp foreach.

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

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

Multidimensional Arrays

Multidimensional Arrays sẽ được trình bày trong chương PHP nâng cao.