Bài 7: Các hàm xử lý mảng trong php

PHP Cơ bản 08/01/2017 07:00 1072
Cũng giống nhiều ngôn ngữ khác PHP cung cấp các hàm xử lý mảng mạnh mẽ. Việc nắm bắt được tất cả các hàm là một lợi thế nhưng dường như điều đó là không thể. Đây là một số hàm hay được sử dụng.

1. array_merge($array1, $array2 [,array...]);

Sáp nhập các phần tử của một hoặc nhiều mảng với nhau để mà các value của mảng này được phụ thêm vào cuối mảng kia. Nếu các mảng đầu vào có cùng các key ở dạng chuỗi, thì value sau cho key đó sẽ được ghi đè lên value trước (với cùng key đó).

$array1=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
$array2=array("d"=>"Cow","a"=>"Cat","e"=>"elephant");
   
print_r(array_merge($array1,$array2));

// Kết quả Array ( [a] => Cat [b] => Cat [c] => Dog [d] => Cow [e] => elephant )

2. sort($array)

Hàm sắp xếp mảng theo giá trị alphabet

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

//Kết quả Array ( [0] => BMW [1] => Toyota [2] => Volvo )

3. array_change_key_case($array, $case)

Chuyển tất cả các key trong mảng $array sang chữ hoa nếu $case = 1 và sang chữ thường nếu $case = 0. Ta có thể dùng hằng số CASE_UPPER thay cho số 1 và CASE_LOWER thay cho số 0.

$array = array(
    'smaller' => 'Hello'
);
$array = array_change_key_case($array, CASE_UPPER);
  
var_dump($array);
// Kết quả là:   'SMALLER' => 'Hello'

4. array_combine($array_keys, $array_values)

Trộn 2 mảng $array_keys và $array_values thành một mảng kết hợp với $array_keys là danh sách keys, $array_value là danh sách value tương ứng với key. Điều kiện là 2 mảng này phải bằng nhau.

$array_keys = array('a', 'b', 'c');
$array_values = array('one', 'two', 'three');
print_r(array_combine($array_keys, $array_values));
/* kết quả:
Array(
[a] => one
[b] => two
1 => three;
)*/;

5. array_count_values ( $array )

Đếm số lần xuất hiện của các phần tử giống nhau trong mảng $array và trả về một mảng kết quả.

$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
/* Kết quả:
Array (
[1] => 2;
[hello] => 2;
[world] => 1
)*/

6. array_push(&$array, $add_value1, $add_value2, $add_value…)

Thêm vào cuối mảng $array một hoặc nhiều phần tử với các giá trị tương ứng biến $add_value truyền vào.

$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);

/* Kết quả
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)
*/

7. array_pop(&$array)

Xóa trong mảng $array phần tử cuối cùng và trả về phần tử đã xóa.

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
  
/* Biến $stack sẽ còn 3 giá trị
Array (
    [0] => orange
    [1] => banana
    [2] => apple
)
Còn biến $fruit sẽ có giá trị là raspberry
*/

8. array_pad($array, $size, $value)

Kéo dãn mảng $array với kích thước là $size, và nếu kích thước truyền vào lớn hơn kích thước mảng $array thì giá trị $value được thêm vào, ngược lại nếu kích thước truyền vào nhỏ hơn kích thước mảng $array thì sẽ giữ nguyên. Nếu muốn giãn ở cuối mảng thì $size có giá trị dương, nếu muốn giãn ở đầu mảng thì $size có giá trị âm.

$input = array(12, 10, 9);
  
// Giãn thành 5 phần tử ở cuối mảng và
// các phần tử giãn có giá trị là 5:
$result = array_pad($input, 5, 0);
// Kết quả là  array(12, 10, 9, 0, 0)
  
// Giản thành 7 phần tử ở đầu mảng
//  và các phần tử giãn có giá trị -1
$result = array_pad($input, -7, -1);
// Kết quả là array(-1, -1, -1, -1, 12, 10, 9)
  
// Giãn thành 2 phần tử nhưng mảng $input
// lại có 3 phần tử nên sẽ không được xử lý
$result = array_pad($input, 2, "noop");
// Kết quả giữ nguyên array(12, 10, 9)

9. array_shift(&$array)

Xóa phần tử đầu tiên ra khỏi mảng $array và trả về phần tử vừa xóa đó.

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);

/* Kết quả biến $stack
Array (
    [0] => banana
    [1] => apple
    [2] => raspberry
)
Kết quả biến $fruit là orange */

10. array_unshift(&$array, $value1, $value2, …)

Thêm các giá trị $value1, $value2, … vào đầu mảng $array.

$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);

/*Kết quả là:
* Array (
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
* )*/

11. is_array($variable).

Kiểm tra một biến có phải kiểu mảng hay không, kết quả trả về true nếu phải và false nếu không phải.

$bien1 = array('1' => 'Light' , '2' => 'HTML Script');
$bien2 = '';

// Kết quả trả về true var_dump($bien1);
// Kết quả trả về false var_dump($bien2);

12. in_array($needle, $haystackarray)

Kiểm tra giá trị $needle có nằm trong mảng $haystackarray không. trả về true nếu có và flase nếu không có.

$haystackarray = array('hello', 'nobody', 'example.com');
  
// Kết quả là true
var_dump(in_array('example.com', $haystackarray));
  
// Kết quả là false
var_dump(in_array('net', $haystackarray));

13. array_key_exists($key, $searcharray)

Kiểm tra key $key có tồn tại trong mảng $searcharray không, trả về true nếu có và false nếu không có.

$searcharray = array(
    'name' => 'Nguyễn Văn A',
    'email' => 'info@example.com',
    'website' => 'example.net'
);
  
// Trả về true
var_dump(array_key_exists('name', $searcharray));
  
// Trả về false
var_dump(array_key_exists('otherkey', $searcharray));

14.array_unique( $array )

Loại bỏ giá trị trùng trong mảng $array.

$array = array('example.com', 'example.com');
$result = array_unique($array);

// Kết quả mảng chỉ còn 1 giá trị freetuts.net
var_dump($result);

15. array_values ($array )

Chuyển mảng $array sang dạng mảng chỉ mục.

$array = array(
    'username' => 'Nguyễn Văn A',
    'password' => '123456'
);
var_dump(array_values($array));
/* Kêt quả của mảng là array(
    0 => Nguyễn Văn A,
    1 => 123456
) */

16. array_keys ($array [, $search_value [, $strict]] )

Trả về các key, dạng số hoặc chuỗi, từ mảng input. Nếu tham số tùy ý search_value được xác định, thì chỉ các key với value đó sẽ được trả về. Nếu không, tất cả key từ mảng input đó sẽ được trả về.

$languages = array(
    'vn' => 'Việt Nam',
    'us'	=> 'United state America',
    'eng'	=> 'England' 
);
$array_keys = array_keys($languages);
print_r($array_keys); die();

// Kết quả: Array ( [0] => vn [1] => us [2] => eng )

17. reset(&array);

Hàm reset() thiết lập con trỏ nội tại về phần tử đầu tiên và trả về value của phần tử đó, hoặc trả về FALSE nếu mảng trống.

$languages = array(
    'Việt Nam',
    'United state America',
    'England' 
);
$first_item = reset($languages);
print_r($first_item); die();

// Kết quả Việt Nam

18. end($array)

Hàm end() thiết lập con trỏ nội tại về phần tử cuối cùng và trả về value của phần tử đó, hoặc trả về FALSE nếu mảng trống.

$languages = array(
    'Việt Nam',
    'United state America',
    'England' 
);
$last_item = end($languages);
print_r($last_item); die();

// Kết quả England

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.