17 hàm về mảng thường hay sử dụng nhất trong PHP

0
1645
php-array
php-array

Hôm nay mình sẽ giới thiệu 17 cách sử dụng mảng trong php

Lưu ý:trong bài này mình sẽ sử dụng [] cho phiên bản php 5.4 còn bạn sử dụng các phiên bản 5.3 trở về trước thì sử dụng array() nhé.

    1. Đếm số lượng mảng trong php ta sử dụng hàm COUNT()
$vehicle = ['Car', 'Motorcycle', 'Bicycle', 'Truck', 'Bus']; // định nghĩa mảng
$vehicle = mysqli_fetch_all($query); // hoặc lấy dữ liệu từ database
echo 'Found ' .  count($vehicle) . ' vehicle data';

2. Kết hợp các giá trị mảng thành một chuỗi ta sử dụng hàm JOIN

<?php
$vehicle 	= ['Car', 'Motorcycle', 'Bicycle'];//khoi tạo mảng
$sql 		= 'INSERT INTO vehicle VALUES ("' . join('","', $vehicle) . '")';
echo $sql;
// kết quả: INSERT INTO vehicle VALUES ("Car","Motorcycle","Bicycle")

3. Thay đổi tất cả các giá trị của mảng:

Để thay đổi tất cả các giá trị của mảng, sử dụng hàm array_map, hàm này sẽ gọi một hàm khác sẽ thao tác giá trị của mảng, hàm này có thể là hàm do PHP (hàm dựng sẵn) hoặc hàm riêng của chúng ta cung cấp (người dùng định nghĩa) chức năng)

Ví dụ: xóa dấu cách ở đầu và cuối mỗi giá trị của mảng (loại bỏ dấu cách phía trước và cuối):

<?php
$vehicle 	= ['Car ', ' Motorcycle', ' Bicycle '];
$trimmed = array_map('trim', $vehicle);
echo '<pre>'; print_r($vehicle); print_r($trimmed);
/* Result:
Array
(
    [0] => Car 
    [1] =>  Motorcycle
    [2] =>  Bicycle 
)
Array
(
    [0] => Car
    [1] => Motorcycle
    [2] => Bicycle
)*/

Trong cả hai ví dụ trên, chúng ta sử dụng hàm dựng sẵn: trim (trim ($ value)). Một ví dụ khác là thay đổi tất cả các giá trị của mảng thành chữ hoa sử dụng hàm do người dùng định nghĩa:

<?php
function toUpper($array_value) {
	return strtoupper($array_value);
}
$vehicle 	= ['Car', 'Motorcycle', 'Bicycle'];
$upper 		= array_map('toUpper', $vehicle);
echo '<pre>'; print_r($upper);
/* kết quả:
Array
(
    [0] => CAR 
    [1] => MOTORCYCLE
    [2] => BICYCLE 
)*/

4. Kiểm tra xem một mảng có chứa một giá trị nhất định hay không ta sử dụng hàm in_array

<?php
$vehicle = ['Car', 'Motorcycle', 'Bicycle', 'Truck', 'Bus'];
if (in_array('Motorcycle', $vehicle))
{
	echo 'Tồn tại';
}

5. Kiểm tra xem một mảng có chứa một khóa nhất định hay không ta dùng hàm  array_key_exists hoặc key_exists

<?php
$car = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
if (key_exists('type', $car))
{
	echo $car['type']; // Vios
}

6. Truy xuất tất cả các khóa của một mảng tao dùng hàm array_keys

$car 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$keys 	= array_keys($car);
echo '<pre>'; print_r($keys);
/* Result:
Array
(
    [0] => merk
    [1] => type
    [2] => year
) */

7. Lấy tất cả các giá trị của một mảng ta sử dụng hàm array_values

<?php
$car 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$values = array_values($car);
echo '<pre>'; print_r($values);
/* Result:
Array
(
    [0] => Toyota
    [1] => Vios
    [2] => 2016
)*/

8. Sắp xếp các giá trị của một mảng ta sử dụng asort(sắp xếp theo a->b)arsort

<?php
$vehicle = ['Car', 'Motorcycle', 'Bicycle', 'Truck', 'Bus'];
asort($vehicle);
echo '<pre>'; print_r($vehicle);
/* Result:
Array
(
    [4] => Bicycle
    [0] => Bus
    [1] => Car
    [2] => Motorcycle
    [3] => Truck
)*/
<?php
$value 		= [90, 70, 85, 65];
asort($value);
echo '<pre>'; print_r($value);

/* Result
Array
(
    [3] => 65
    [1] => 70
    [2] => 85
    [0] => 90
)*/

9. Sắp xếp các khóa của một mảng ta sử dụng ksortkrsort
Để sắp xếp các khóa của một mảng, chúng ta có thể sử dụng hai loại hàm, đó là ksort và krsort.

ksort được sử dụng để sắp xếp theo thứ tự tăng dần (từ nhỏ nhất đến lớn nhất), trong khi krsort được sử dụng để sắp xếp từ lớn nhất đến nhỏ nhất (thứ tự giảm dần)

<?php
$car = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
krsort($car);
echo '<pre>'; print_r($car);

/* Result
Array
(
    [year] => 2016
    [type] => Vios
    [merk] => Toyota
)*/

10. Kết hợp các mảng trong PHP

Có hai cách để kết hợp các mảng trong PHP: sử dụng hàm array_merge hoặc chỉ cần sử dụng dấu cộng (+), hàm này rất hữu ích khi chúng ta muốn kết hợp hai kết quả mảng của truy vấn cơ sở dữ liệu

<?php
$vehicle 		= ['Car', 'Motorcycle', 'Bicycle', 'Truck', 'Bus'];
$car 			= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$merge			= array_merge ($vehicle, $car);
// or $merge 	= $vehicle + $car;
echo '<pre>'; print_r($merge);
/* Result:
Array
(
    [0] => Car
    [1] => Motorcycle
    [2] => Bicycle
    [3] => Truck
    [4] => Bus
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
)*/

11.Tìm kiếm khóa giá trị của một mảng trong PHP ta sử dụng từ khóa array_search

<?php
$vehicle 	= ['Car', 'Motorcycle', 'Bicycle', 'Truck', 'Bus'];
$car 		= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$key = array_search('Vios', $car); // type
$key = array_search('Bicycle', $vehicle); // 2

Bạn có thể xóa các phần tử trong mảng bạn dùng hàm Unset

<?php
$vehicle = ['Car', 'Motorcycle', 'Bicycle', 'Truck', 'Bus'];
$key 	 = array_search('Bicycle', $vehicle); // 2
// Deleting Bicycle
unset($vehicle[$key]);

12. Xóa phần tử đầu tiên của một mảng trong PHP dùng hàm array_shift

<?php
$car 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$key 	= array_shift($car);
echo '<pre>'; print_r($car);
/* Result:
Array
(
    [type] => Vios
    [year] => 2016
) */

13. Thêm phần tử vào đầu mảng dùng hàm array_unshift 

// Indexed Array
$vehicle 		= ['Car', 'Motorcycle', 'Bicycle'];
array_unshift ($vehicle, 'Truck',  'Bus');
echo '<pre>'; print_r($vehicle);
/* Result:
Array
(
    [0] => Truck
    [1] => Bus
    [2] => Car
    [3] => Motorcycle
    [4] => Bicycle
)*/

// Associative array
$car 		= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
array_unshift ($car, 'Sedan');
echo '<pre>'; print_r($car);
/* Result
Array
(
    [0] => Sedan
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
)

14. Thêm phần tử vào cuối mảng

<?php
$vehicle 	= ['Car', 'Motorcycle', 'Bicycle'];
array_push ($vehicle, 'Truck', 'Bus');
echo '<pre>'; print_r($vehicle);
/* Result:
Array
(
    [0] => Car
    [1] => Motorcycle
    [2] => Bicycle
    [3] => Truck
    [4] => Bus
)*/

$car = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
array_push ($car, 'Sedan');
echo '<pre>'; print_r($car);
/* Result
Array
(
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
    [0] => Sedan
)
*/

15. Xóa phần tử cuối cùng của mảng dùng hàm array_pop 

<?php
$vehicle 	= ['Car', 'Motorcycle', 'Bicycle'];
$pop 		= array_pop ($vehicle);
echo $pop; // Bicycle
echo '<pre>'; print_r($vehicle);
/* Result:
Array
(
    [0] => Car
    [1] => Motorcycle
)

16. Đảo ngược thứ tự của các giá trị mảng dùng hàm array_reverse

<?php
$title 		= ['Title 1', 'Title 2', 'Title 3'];
$reversed	= array_reverse($title);
echo '<pre>'; print_r($reversed);
/* Result:
Array
(
    [0] => Judul 3
    [1] => Judul 2
    [2] => Judul 1
)
*/

17. Tìm giá trị nhỏ nhất và lớn nhất của các giá trị mảng ta dùng min hoac75 max

<?php
$value 	= [90, 70, 85, 65, 80];
$max 	= max($value);
$min 	= min($value);
echo $max; //90
echo $min; //65

Cảm ơn các bạn