PHP
PHP

Trang chủ

Array – mảng trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
20/06/2024
7 phút đọc
Theo dõi Vietnix trên

Array – mảng trong PHP

Array, mảng trong PHP, là một trong những cấu trúc dữ liệu quan trọng cho phép bạn lưu trữ và quản lý một tập hợp các giá trị dưới một tên duy nhất. PHP hỗ trợ nhiều loại mảng, bao gồm mảng liên tục, mảng kết hợp, và mảng đa chiều. Mảng là một công cụ mạnh mẽ cho việc tổ chức và xử lý dữ liệu trong các ứng dụng PHP, cho phép bạn thực hiện các tác vụ phức tạp như tìm kiếm, sắp xếp và thống kê dễ dàng hơn. Hãy cùng Vietnix tham khảo thêm về Mảng trong PHP qua bài viết sau đây.

Mảng là gì?

Mảng trong PHP là kiểu cấu trúc dữ liệu cho phép người dùng lưu trữ nhiều phần tử có kiểu dữ liệu giống nhau dưới một biến duy nhất. Nhờ đó tiết kiệm công sức tạo nhiều biến khác cho mỗi dữ liệu.

Mảng (array) trong PHP
Tìm hiểu về array trong PHP

Đây là kiểu dữ liệu rất hữu ích để tạo danh sách các phần tử có kiểu tương tự, có thể truy cập bằng index hoặc key. Trong trường hợp số lượng dữ liệu ít bạn dễ dàng tạo biến chuỗi cho các giá trị này, nhưng nếu số lượng nhiều lên tới hàng trăm, việc thực hiện thủ công trở nên khó khăn hơn.

Lúc này cấu trúc dữ liệu đó phát huy tác dụng và giúp người dùng lưu trữ mọi phần tử trong một biến duy nhất và cũng cho phép truy cập dễ dàng bằng index hoặc key. Một mảng được tạo bằng hàm array() trong PHP.

Mọi người cũng xem:

Phân loại mảng trong PHP:

  • Indexed or Numeric Arrays: các giá trị lưu trữ tuyến tính (có thứ tự).

Các loại kiểu dữ liệu này có thể được sử dụng để lưu trữ bất kỳ loại phần tử nào, nhưng index luôn là một số. Theo mặc định, index bắt đầu từ số 0. Các mảng này có thể được tạo theo hai cách khác nhau như trong ví dụ sau: 

<?php

// One way to create an indexed array
$name_one = array("Zack", "Anthony", "Ram", "Salim", "Raghav");

// Accessing the elements directly
echo "Accessing the 1st array elements directly:\n";
echo $name_one[2], "\n";
echo $name_one[0], "\n";
echo $name_one[4], "\n";

// Second way to create an indexed array
$name_two[0] = "ZACK";
$name_two[1] = "ANTHONY";
$name_two[2] = "RAM";
$name_two[3] = "SALIM";
$name_two[4] = "RAGHAV";

// Accessing the elements directly
echo "Accessing the 2nd array elements directly:\n";
echo $name_two[2], "\n";
echo $name_two[0], "\n";
echo $name_two[4], "\n";

?>

Output như sau:

Accessing the 1st array elements directly:
Ram
Zack
Raghav
Accessing the 2nd array elements directly:
RAM
ZACK
RAGHAV

Bạn có thể duyệt mảng được lập index bằng cách dùng các vòng lặp PHP. Tại đây, bạn triển khai vòng lặp qua mảng theo 2 cách: đầu tiên là dùng vòng lặp for() và thứ hai là dùng foreach().

<?php

// Creating an indexed array
$name_one = array("Zack", "Anthony", "Ram", "Salim", "Raghav");

// One way of Looping through an array using foreach
echo "Looping using foreach: \n";
foreach ($name_one as $val){
	echo $val. "\n";
}

// count() function is used to count
// the number of elements in an array
$round = count($name_one);
echo "\nThe number of elements are $round \n";

// Another way to loop through the array using for
echo "Looping using for: \n";
for($n = 0; $n < $round; $n++){
	echo $name_one[$n], "\n";
}

?>

Output như sau:

Looping using foreach: 
Zack
Anthony
Ram
Salim
Raghav

The number of elements is 5 
Looping using for: 
ZACK
ANTHONY
RAM
SALIM
RAGHAV
  • Associative Arrays: có index chuỗi bên trong thay vì lưu trữ tuyến tính, mỗi giá trị có key riêng cụ thể là key của loại chuỗi do người dùng xác định.

Ví dụ:

<?php

// One way to create an associative array
$name_one = array("Zack"=>"Zara", "Anthony"=>"Any",
				"Ram"=>"Rani", "Salim"=>"Sara",
				"Raghav"=>"Ravina");

// Second way to create an associative array
$name_two["zack"] = "zara";
$name_two["anthony"] = "any";
$name_two["ram"] = "rani";
$name_two["salim"] = "sara";
$name_two["raghav"] = "ravina";

// Accessing the elements directly
echo "Accessing the elements directly:\n";
echo $name_two["zack"], "\n";
echo $name_two["salim"], "\n";
echo $name_two["anthony"], "\n";
echo $name_one["Ram"], "\n";
echo $name_one["Raghav"], "\n";

?>

Output như sau:

Accessing the elements directly:
zara
sara
any
Rani
Ravina

Bạn có thể duyệt qua các mảng kết hợp này theo cách tương tự như trên bằng các vòng lặp. Chúng ta có thể lặp qua mảng kết hợp theo hai cách. Đầu tiên bằng cách sử dụng vòng lặp for và thứ hai bằng cách sử dụng foreach.

<?php

// Creating an associative array
$name_one = array("Zack"=>"Zara", "Anthony"=>"Any",
					"Ram"=>"Rani", "Salim"=>"Sara",
					"Raghav"=>"Ravina");

// Looping through an array using foreach
echo "Looping using foreach: \n";
foreach ($name_one as $val => $val_value){
	echo "Husband is ".$val." and Wife is ".$val_value."\n";
}

// Looping through an array using for
echo "\nLooping using for: \n";
$keys = array_keys($name_two);
$round = count($name_two);

for($i=0; $i < $round; ++$i) {
	echo $keys[$i] . ' ' . $name_two[$keys[$i]] . "\n";
}

?>

Output như sau:

Looping using foreach: 
Husband is Zack and Wife is Zara
Husband is Anthony and Wife is Any
Husband is Ram and Wife is Rani
Husband is Salim and Wife is Sara
Husband is Raghav and Wife is Ravina

Looping using for: 
zack zara
anthony any
ram rani
salim sara
raghav ravina
  • Multidimensional Arrays: một mảng chứa nhiều mảng con bên trong, truy cập thông qua nhiều index.

Mảng đa chiều là những mảng lưu trữ một mảng khác tại mỗi index thay vì một phần tử. Có thể hiểu theo cách khác mảng đa chiều nghĩa là một “array” tập hợp nhiều mảng con ở bên trong nó. Trong đó, mọi phần tử trong mảng này có thể là một mảng và chúng cũng có thể chứa các mảng con khác bên trong. Mảng hoặc mảng con (sub-array) trong mảng đa chiều có thể được truy cập bằng nhiều chiều. 

Ví dụ:

<?php

// Defining a multidimensional array
$favorites = array(
	array(
		"name" => "Dave Punk",
		"mob" => "5689741523",
		"email" => "davepunk@gmail.com",
	),
	array(
		"name" => "Monty Smith",
		"mob" => "2584369721",
		"email" => "montysmith@gmail.com",
	),
	array(
		"name" => "John Flinch",
		"mob" => "9875147536",
		"email" => "johnflinch@gmail.com",
	)
);

// Accessing elements
echo "Dave Punk email-id is: " . $favorites[0]["email"], "\n";
echo "John Flinch mobile number is: " . $favorites[2]["mob"];

?>

Output như sau:

Dave Punk email-id is: davepunk@gmail.com
John Flinch mobile number is: 9875147536
  • Duyệt mảng đa chiều : Người dùng có thể duyệt qua mảng đa chiều bằng cách sử dụng vòng lặp forforeach theo cách lồng nhau. Tức là, mỗi mảng sẽ đi kèm một vòng lặp for với nó từ ngoài vào trong.

Ví dụ:

<?php
// Defining a multidimensional array
$favorites = array(
	"Dave Punk" => array(
		"mob" => "5689741523",
		"email" => "davepunk@gmail.com",
	),
	"Dave Punk" => array(
		"mob" => "2584369721",
		"email" => "montysmith@gmail.com",
	),
	"John Flinch" => array(
		"mob" => "9875147536",
		"email" => "johnflinch@gmail.com",
	)
);

// Using for and foreach in nested form
$keys = array_keys($favorites);
for($i = 0; $i < count($favorites); $i++) {
	echo $keys[$i] . "\n";
	foreach($favorites[$keys[$i]] as $key => $value) {
		echo $key . " : " . $value . "\n";
	}
	echo "\n";
}

?>

Output như sau:

Dave Punk
mob : 2584369721
email : montysmith@gmail.com

John Flinch
mob : 9875147536
email : johnflinch@gmail.com

Lời kết

Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về kiểu cấu trúc dữ liệu array hay mảng trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn