9 là một loại biến đặc biệt, trong nó giữ nhiều giá trị. Mỗi giá trị trong mảng được gọi là
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
0 của mảng, các phần tử trong mảng được truy xuất thông qua tên biến và ký hiệu
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
1, trong đó
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
2 được gọi là chỉ số của phần tử, chỉ số này có thể là một số nguyên hay là một chuỗi ... tùy thuộc vào loại mảng mà bạn khởi tạo ở phần sau.
Khi mảng không có phần tử nào được gọi là
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
3, bạn có thể tạo ra một biến mảng rỗng để sau này thêm các phần tử vào, cú pháp như sau:
$mang1 = array(); // tạo một mảng rỗng
$mang2 = []; // tạo một mảng rỗng - cú pháp này dễ đọc hơn.
Mảng PHP cơ bản
Mảng chỉ số là số - Numeric Array
Mảng dạng số là mảng mà mỗi phần tử của nó có một chỉ số là số nguyên. 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ố
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
4 khi phần tử đầu tiên được thêm vào, cứ thế phần tử thứ 2 thêm vào mảng sẽ có chỉ số là
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
5:
Nhớ là chỉ số của mảng bao giờ cũng bắt đầu từ
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
4 chứ không phải
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
Khởi tạo mảng và đưa phần tử vào mảng: giá sử khởi tạo mảng lưu danh sách tên khách hàng
Chạy thử, kết quả export của biến $names
array (
0 => 'An',
1 => 'Minh',
2 => 'Long',
)
Như vậy phần tử có chỉ số
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
4 thì giá trị là
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
9, chỉ số
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
5 giá trị là
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
1 ...
chỉ số này dùng với ký hiệu
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
2 để truy xuất (đọc hoặc gán) phần tử mảng:
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
Thêm phần tử vào mảng bạn có thể đưa các phần tử vào mảng bằng cách viết
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
Nhớ là các chỉ số phải là số nguyên, mỗi biến mảng sẽ lưu một giá trị để đánh chỉ số, giá trị này luôn bằng chỉ số
lớn nhất của index số nguyên thêm vào, nếu thêm phần tử bằng
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
3 thì giá trị này sẽ tăng thêm 1, nếu thêm bằng
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
4
giá trị này sẽ bằng
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
2 nếu index là lớn nhất so với các index có sẵn trong mảng. Hãy xem ví dụ sau, tạo
biến mảng chỉ thêm các phần tử:
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
2 không phải là thứ tự sắp xếp các phần tử trong mảng. Chỉ số
không liên quan đến số lượng phần tử trong mảng (nhiều người nhầm lẫn). Ví dụ mảng trên, có phần 4 phần tử, nhưng
chỉ số đã nhảy đến 21. Tuy nhiên nếu mảng chỉ thêm vào bằng cách
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
7 và các phần tử không bị xóa (unset),
thì có sự liên quan.
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à
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
8,
$bienmang[index] = $giatri; // thêm vào phần tử với chỉ số index, phần tử nếu là mới
// thêm sẽ nằm cuối, dù giá trị index bao nhiêu
$bienmang[] = $giatri; // thêm vào cuối phần tử mới, chỉ số phần tử này bằng chỉ số lớn nhất cộng 1
// nếu đây là phần tử đầu tiên của mảng thì chỉ số sẽ là 0
2, có hai trường hợp mỗi lần lặp trích xuất ra giá trị phần tử
và trích xuất cả giá trị và chỉ số index
// vòng lặp, lấy giá trị từng phần tử
foreach ($bienmang as $value) {
var_dump($value);
}
// vòng lặp, lấy giá trị và chỉ số từng phần tử
foreach ($bienmang as $key => $value) {
var_dump($key, $value);
}
Ví dụ:
$name)
{
echo "chỉ số $k; giá trị $name", PHP_EOL;
}
/*
chỉ số 0; giá trị An
chỉ số 1; giá trị Minh
chỉ số 2; giá trị Nguyên
*/
foreach ($names as $name)
{
echo "$name ";
}
//An Minh Nguyên
Số phần tử (kích thước) trong mảng, kiểm tra là biến mảng
5 trả vế số lượng phần tử trong mảng. Nếu mảng số - khởi tạo bằng cách liệt kê các giá trị
- thì chỉ số và số phần tử có sự liên hệ,
nên trường hợp này duyệt được bằng vòng lặp
$names = ["An", "Minh", "Nguyên"]; // mảng số theo thứ tự
$leng = count($names);
echo "Số phần tử là: " . $leng, PHP_EOL;
// Lặp từ phần tử cuối lên đầu
for ($i = $leng -1; $i >= 0; $i--)
{
echo $names[$i], ' ';
}
/*
Số phần tử là: 3
Nguyên Minh An
*/
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
$arrayData[0] = 'Mèo';
$arrayData[1] = '4';
$arrayData[2] = 'chân';
echo "$arrayData[0] có $arrayData[1] $arrayData[2]";
// In ra:
// Mèo có 4 chân
0 trong đó
$ten = $names[2]; // Long
$names[1] = 'Nguyên'; // phần tử chỉ số 1 gán giá trị mới
2 là chỉ số (có thể
là chuỗi hay số tùy vào kiểu index cho phần tử đó)
Chạy thử, kết quả export của biến $names
array (
0 => 'An',
1 => 'Minh',
2 => 'Long',
)
0
Mảng nhiều chiều - Multidimensional Array
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á phức tạp.
Vậy đừng lạm dụng mảng hơn ba chiều