Kết nối

[PHP] Phần 15: Mảng trong PHP

28 lượt xem 
 
Thể loại: Lập trình Web với PHP 

Mảng là gì?

Trong PHP, mảng là một biến đặc biệt, là một kiểu dữ liệu có thể lưu trữ nhiều phần tử chứa giá trị một lúc. Ví dụ một biến mảng names lưu trữ 3 giá trị là “dammio”, “BVN” và “oimmad”.

<?php
$names = array("dammio", "BVN", "oimmad");
echo "Xin chào " . $names[0] . ", " . $names[1] . " và " . $names[2] . ".";
?>

Trong ví dụ trên, bạn tạo mảng bằng phương thức array() và truy xuất các phần tử mảng theo kiểu $names[0], $names[1],… với vị trí phần tử index đầu tiên của mảng là 0.

Cách tạo mảng

Trong PHP, để tạo mảng bạn có thể dùng hàm array(). Có 3 loại mảng bạn cần chú ý:

  • Mảng index: Mảng với khóa (chỉ mục) là kiểu int
  • Mảng liên kết: Mảng với khóa là kiểu string (theo tên khóa)
  • Mảng đa chiều: Mảng chứa nhiều mảng con bên trong, cho phép tạo mảng nhiều chiều

Mảng index

Mảng index là mảng chứa khóa là kiểu int, vì vậy vị trí khóa đầu tiên luôn bắt đầu là 0.

<?php
$names = array("dammio", "BVN", "oimmad");
?>

Hoặc bạn có thể tạo mảng bằng tay như sau:

<?php
$names[0] = "dammio";
$names[1] = "BVN";
$names[2] = "oimmad";
?>

Để lấy giá trị dữ liệu trong mảng, bạn có thể truy cập theo vị trí index trên biến mảng ($names).

<?php
$names = array("dammio", "BVN", "oimmad");
echo $names[0] . "<br />"; // xuất giá trị phần tử đầu tiên, vị trí 0 --- dammio.com
echo $names[1] . "<br />"; 
echo $names[2] . "<br />";
?>

Đếm số phần tử trong mảng

Với một mảng bất kỳ, để đếm số phần tử hoặc xem chiều dài mảng, bạn chỉ cần dùng hàm count().

<?php
$names = array("dammio", "BVN", "oimmad");
echo count($names); // giá trị trả về là 3, vì mảng có 3 phần tử
?>

Duyệt mảng

Thay vì truy xuất giá trị phần tử mảng theo vị trí, bạn có thể dùng một vòng lặp để duyệt và hiển thị tất cả các phần tử mảng.

<?php
$names = array("dammio", "BVN", "oimmad");
$arrlength = count($names); // đếm số phần tử trong mảng --- dammio.com

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

// Kết quả
// dammio
// BVN
// oimmad
?>

Ngoài cách duyệt mảng bằng vòng for, bạn có thể duyệt mảng bằng foreach như sau.

<?php
$names = array("dammio", "BVN", "oimmad");

foreach($names as $value) {
    echo $value;
    echo "<br />";
}

?>

Nếu bạn muốn hiển thị cả chỉ số index cho từng phần tử kèm theo giá trị thì làm như sau.

<?php
$names = array("dammio", "BVN", "oimmad");

foreach($names as $key => $value) {
    echo "Phần tử vị trí [". $key . "] có giá trị : " . $value;
    echo "<br />";
}

?>

Mảng liên kết

Mảng liên kết là mảng cho phép bạn dùng vị trí khóa (thay vì dùng kiểu int) là một tên bất kỳ bạn thích. Theo cách này, mảng của bạn có tính mềm dẻo hơn, có thể chứa bất kỳ giá trị nào bạn muốn.

<?php
$names = array("ten1"=>"dammio", "ten2"=>"BVN", "ten3"=>"faker");
?>

hoặc bạn có thể gán trực tiếp:

$names['ten1'] = "dammio";
$names['ten2'] = "BVN";
$names['ten3'] = "faker";

Để hiển thị giá trị các phần tử, bạn có thể sử dụng tên khóa trên biến mảng như sau:

<?php
$names = array("ten1"=>"dammio", "ten2"=>"BVN", "ten3"=>"faker");
echo $names['ten1'] . "<br/>";
echo $names['ten2'] . "<br/>";
echo $names['ten3'] . "<br/>";
?>

Để duyệt các phần tử trong mảng, bạn cũng có thể dùng vòng for hoặc foreach như kiểu mảng index. Ví dụ duyệt mảng bằng vòng foreach như sau.

<?php
$names = array("ten1"=>"dammio", "ten2"=>"BVN", "ten3"=>"faker");

foreach($names as $key => $value) {
    echo "Key=" . $key . ", Value=" . $value;
    echo "<br>";
}
?>

Kết luận

Như vậy, bài viết đã trình bày cho bạn về kiểu dữ liệu mảng và cách tạo, truy xuất và duyệt mảng trong PHP. Để tìm hiểu về mảng đa chiều, mời bạn theo dõi bài tiếp theo.

Bình luận Facebook

1
Để lại bình luận

avatar
1000
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Các tác giả bình luận
Các tác giả bình luận gần đây
  Theo dõi  
mới nhất cũ nhất được bình chọn nhiều nhất
Thông báo của
trackback

[…] [PHP] Phần 15: Mảng trong PHP – 12 tháng 01, 2019 lúc 4:40:02 Chiều […]