Home » Bài 11: Các hàm xử lý mảng (Array) trong PHP

Bài 11: Các hàm xử lý mảng (Array) trong PHP

PHP Array Functions

by Tan Nguyen
15 minutes read

Khái niệm và những vấn đề liền quan về các loại mảng có trong PHP mình đã giới thiệu ở bài 10 : Mảng trong PHP. Tiếp tục series học PHP căn bản, bài này mình sẽ liệt kê các hàm dùng để xử lý mảng hay dùng trong PHP để các bạn tiện tra cứu cũng như học tập nhé!

cac ham xu ly mang php

Các hàm xử lý mảng (Array) trong PHP

is_array($array)

Hàm có tác dụng kiểm tra xem một biến có phải mảng hay không. Trả về true nếu là mảng và ngược lại sẽ trả về false.

<?php
   $bien1 = array("tanhongit.net", "php căn bản");
   $bien2 = '';
   var_dump(is_array($bien1)); // Kết quả trả về true 
   var_dump(is_array($bien2)); // Kết quả trả về false
?>

in_array($value,$array)

Hàm có tác dụng kiểm tra xem mảng $array có tồn tại giá trị $value hay không. Nếu có sẽ trả về true và ngược lại trả về false.

<?php
   $bien1 = array("tanhongit.net", "php căn bản");
   var_dump(in_array("tanhongit.net",$bien1)); // Kết quả trả về true 
   var_dump(in_array("hello",$bien1)); // Kết quả trả về false
?>

array_values($array)

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

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    var_dump(array_values($array));

    /* Kêt quả của mảng là array (size=2)
        0 => string 'tanhongit.net' (length=13)
        1 => string '123456' (length=6)
    ) */
?>

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ả với các value là các giá trị đếm đó.

<?php
    $array = array('tanhongit.net', 'hello', '123456', 'hello');
    var_dump(array_count_values($array));
    /*array (size=3)
    'tanhongit.net' => int 1
    'hello' => int 2  //'hello xuất hiện 2 lần'
    123456 => int 1 */
?>

array_keys($array)

Hàm này có tác dụng trả về một dạng mảng chỉ mục mà trong mảng đó sẽ có phần tử là key của mảng ban đầu.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    var_dump(array_keys($array));

    /* kết quả : array (size=2)
    0 => string 'username' (length=8)
    1 => string 'password' (length=8)
     */
?>

array_change_key_case($array, $case)

Tác dụng của hàm này là chuyển tất cả các chỉ mụ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.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    $array = array_change_key_case($array,1);
    var_dump($array);

    /* kết quả : array (size=2)
    'USERNAME' => string 'tanhongit.net' (length=13)
    'PASSWORD' => string '123456' (length=6)
     */
?>

array_key_exists($key,$array)

Kiểm tra xem khoá $keytồn tại trong mảng $array hay không. Nếu có sẽ trả về true và trả về false nếu không có.

<?php
    $array = array(
       'username' => 'tanhongit.net',
       'password' => '123456'
    );
    var_dump(array_key_exists("username",$array)); //kết quả var_ dump sẽ trả về true
    var_dump(array_key_exists("hello",$array)); //kết quả var_ dump sẽ trả về false
?>

array_pop($array)

Tác dụng của hàm này sẽ cắt phần tử cuối cùng ra khỏi mảng.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    var_dump(array_pop($array)); //phần tử cuối cùng sẽ bị cắt mất khỏi mảng
    //kết quả output: '123456' 

    var_dump($array);
    //kết quả màn hình:  array (size=1)
    //'username' => string 'tanhongit.net' (length=13)
?>

Ta có thể xuất ra phần tử đã bị cắt từ hàm array_pop($array) bằng cách gán giá trị của nó vào một biến và xuất biến đó ra. Nhuw sau:

<?php
    $array = array(
         'username' => 'tanhongit.net',
         'password' => '123456'
    );
    $pop = array_pop($array); //gán giá trị đã bị cắt cuối mảng vào 1 biến
    var_dump($array); // xuất mảng
    echo $pop; // xuất giá trị đã bị cắt khỏi mảng bởi hàm array_pop
?>

array_push($array,$value1,$value2…)

Hàm này có tác dụng thêm một hoặc nhiều phần tử vào cuối mảng với các các giá trị $value1, $value2 được truyền vào.

Nếu ta var_dump hàm array_push này thì kết quả màn hình sẽ trả về tổng cộng số lượng phần tử có trong mảng sau khi thêm.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    var_dump(array_push($array,"hello")); 
    //kết quả output: 3
    var_dump($array);
    /*kết quả: array (size=3)
    'username' => string 'tanhongit.net' (length=13)
    'password' => string '123456' (length=6)
    0 => string 'hello' (length=5) */
?>

array_shift($array)

Trái ngược với hàm array_pop, hàm array_shift sẽ cắt phần tử đầu tiên trong mảng $array ra khỏi mảng. Ta có thể xuất giá trị đã bị cắt khỏi mảng đó bằng cách gán giá trị của array_shift($array) vào 1 biến và xuất nó ra.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    $shift = array_shift($array); //gán giá trị của phần tử đầu tiên trong mảng đã bị cắt vào 1 biến
    var_dump($array);
    /*kết quả màn hình:  array (size=1)
    'password' => string '123456' (length=6)*/
    echo $shift; //giá trị của phần tử đầu tiên trong mảng đã bị cắt đi

array_unshift($array,$value1,$value2…)

Trái ngược với array_push, hàm array_unshift sẽ thêm một hoặc nhiều phần tử vào đầu mảng với các các giá trị $value1, $value2 được truyền vào.

Nếu ta var_dump hàm array_push này thì kết quả màn hình sẽ trả về tổng cộng số lượng phần tử có trong mảng sau khi thêm.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    var_dump(array_unshift($array,"hello")); 
    //kết quả output: 3
    var_dump($array);
    /*kết quả: array (size=3)
  0 => string 'hello' (length=5)
  'username' => string 'tanhongit.net' (length=13)
  'password' => string '123456' (length=6) */
?>

array_combine($array_keys, $array_values)

Tác dụng của hàm là trộn 2 mảng $array_keys$array_values thành một mảng kết hợp. Trong đó, $array_keys là danh sách keys, $array_value là danh sách value tương ứng với key. Với điều kiện là 2 mảng này phải bằng nhau.

<?php
    $array_keys = array('username','password');
    $array_values = array('tanhongit.net','123456');
    
    var_dump(array_combine($array_keys,$array_values)); 
    /*output: array (size=2)
    'username' => string 'tanhongit.net' (length=13)
    'password' => string '123456' (length=6) */
?>

array_merge($array,$array…)

Cao cấp hơn hàm array_combine (chỉ có tác dụng gộp 2 mảng thành 1), hàm array_merge này có tác dụng gộp 2 hoặc nhiều mảng hơn nữa thành 1 mảng duy nhất

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456',
    );
    $array1 = array(1, 2, 3);
    $array2 = array(
      1 => 'hello',
      'name' => 'Hồng'
    );
    var_dump(array_merge($array,$array1,$array2)); 
    /*kết quả: array (size=7)
    'username' => string 'tanhongit.net' (length=13)
    'password' => string '123456' (length=6)
    0 => int 1
    1 => int 2
    2 => int 3
    3 => string 'hello' (length=5)
    'name' => string 'Hồng' (length=4) */
?>

array_rand($array, $number)

Hàm có tác dụng lấy ra key ngẫu nhiên trong mảng với $number là số lượng muốn lấy. Mình sẽ lấy ví dụ tiếp tục từ phần array_merge trên:

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456',
    );
    $array1 = array(1, 2, 3);
    $array2 = array(
      1 => 'hello',
      'name' => 'Hồng'
    );
    echo array_rand(array_merge($array,$array1,$array2));  //lấy 1 phần tử ngẫu nhiên trong mảng kết hợp
    //kêt quả lệnh echo: password

    var_dump(array_rand(array_merge($array,$array1,$array2), 3)); //lấy 3 phần tử ngẫu nhiên trong mảng kết hợp
    /*kết quả: array (size=3)
    0 => string 'password' (length=8)
    1 => int 2
    2 => int 3 */
?>

array_unique($array)

Hàm giúp loại bỏ giá trị trùng nếu có trong mảng $array.

<?php
    $array = array('tanhongit.net', 'hello', '123456', 'hello');
    var_dump(array_unique($array));
    /*array (size=3)
    0 => string 'tanhongit.net' (length=13)
    1 => string 'hello' (length=5)
    2 => string '123456' (length=6) */
?>

array_flip($array)

Hàm này có tác dụng chuyển đổi key của mảng thành value và ngược lại.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456'
    );
    var_dump(array_flip($array)); 
    /*kết quả: array (size=2)
  'tanhongit.net' => string 'username' (length=8)
  123456 => string 'password' (length=8) */
?>

array_reverse($array)

Hàm có tác dụng đảo ngược lại vị trí sắp xếp của tất cả phần tử có trong mảng.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456',
    );
    var_dump(array_reverse($array)); 
    /*kết quả: array (size=2)
  'password' => string '123456' (length=6)
  'username' => string 'tanhongit.net' (length=13) */
?>

array_search($keyword, $array)

Hàm có tác dụng tìm kiếm giá trị của mảng và trả về key của phần tử đó nếu có. Trong đó $keyword là giá trị truyền vào, $array là mảng cần tìm.

<?php
    $array = array(
        'username' => 'tanhongit.net',
        'password' => '123456',
    );
    var_dump(array_search('tanhongit.net',$array)); 
    /*kết quả: string 'username' (length=8) */
?>

array_slice($array,$begin,$number)

Hàm có tác dụng lấy ra số lượng các phần tử được truyền vào thông qua $number và bắt đầu lấy ra từ $begin trong mảng.

<?php
      $array = array(
          'username' => 'tanhongit.net',
          'password' => '123456',
      );
      var_dump(array_slice($array, 0)); //lấy ra các phần tử bắt đầu từ chỉ mục $key = 0
      /*kết quả: array (size=2)
      'username' => string 'tanhongit.net' (length=13)
      'password' => string '123456' (length=6) */
      var_dump(array_slice($array, 0 , 1)); //lấy ra 1 phần tử bắt đầu từ chỉ mục $key = 0
      /*Kết quả: array (size=1)
      'username' => string 'tanhongit.net' (length=13) */
      var_dump(array_slice($array, 1 , 1)); //lấy ra 1 phần tử bắt đầu từ chỉ mục $key = 1
      /*Kết quả: array (size=1)
      'password' => string '123456' (length=6) */ 
?>

Sẽ còn cập nhật…

Kết thúc

Bài viết này mình đã liệt kê một số hàm thường được sử dụng để xử lý mảng trong PHP, Nếu các bạn muốn xem thêm hãy truy cập link này để tham khảo nhé!

Vậy là trong lộ trình học php căn bản thì tới đây mình đã liệt kê hết các kiến thức về mảng giúp các bạn học tập. Cho nên sang bài tiếp theo chúng ta sẽ qua chuỗi trong PHP và các vấn đề xoay quanh chuỗi nhé!

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm:

via tanhongit.net

CHÚC CÁC BẠN THÀNH CÔNG
5/5 - (1 vote)

Related Posts

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More