post-image

Làm sao để xoá phần tử của mảng dựa theo chỉ số trong PHP?

Mảng

Bài toán: Cho 1 mảng (1 chiều hoặc đa chiều) và công việc cần làm là xoá 1 phần tử với chỉ số cho trước.

Ví dụ:

Input: 
    Array
    (   
        [0] => 'H' 
        [1] => 'O'
        [2] => 'C'
        [3] => 'P'
        [4] => 'H'
        [5] => 'P
    )
    k = 4

Output: 
    Array
    ( 
        [0] => 'H' 
        [1] => 'O'
        [2] => 'C'
        [3] => 'P'
        [5] => 'P'
    )Code language: PHP (php)

Sử dụng hàm unset(): Hàm unset() có thể sử dụng để xoá phần tử của màng. Bình thường hàm này dùng để xoá các biến, nhưng cách này cũng có thể áp dụng cho mảng. Tham số truyền vào hàm chính là chỉ số mà ta cần xoá trong mảng. Tuy vậy sau khi xoá thì chỉ số và giá trị của mảng sẽ không đổi.

Cú pháp:

unset($"tên biến")Code language: PHP (php)

Tham số truyền vào: Hàm này chỉ chấp nhận duy nhất 1 tham số truyền vào: là biến cần xoá. Tham số này là bắt buộc để cho thể thực hiện việc xoá biến.

Ví dụ 1: Xoá phần tử trong mảng 1 chiều.

<?php

// Nhập mảng
$arr = array('H', 'O', 'C', 'P', 'H', 'P');
  
// In mảng trước khi xoá
print_r($arr);

// Dùng hàm unset() để xoá phần tử có chỉ số 4
unset($arr[4]);

//In mảng sau khi xoá
print_r($arr);
  
?>Code language: HTML, XML (xml)

Output:

Array
(
    [0] => H
    [1] => O
    [2] => C
    [3] => P
    [4] => H
    [5] => P
)
Array
(
    [0] => H
    [1] => O
    [2] => C
    [3] => P
    [5] => P
)Code language: PHP (php)

Ví dụ 2: Xoá phần tử trong mảng liên kết (associative array).

<?php 
  
// Tạo mảng
$bits = array( 
      
    // Hoc sẽ là chỉ số
    "Hoc" => array( 
          
        // 2 giá trị
        "AB" => 16, 
        "CD" => 32, 
    ), 
          
    // PHP sẽ là chỉ số 
    "PHP" => array( 
          
        // 2 giá trị 
        "AB" => 64, 
        "CD" => 128, 
    ), 
      
    // Net sẽ là chỉ số 
    "Net" => array( 
          
        // 2 giá trị
        "AB" => 256, 
        "CD" => 512, 
    ), 
); 
  
echo "Truoc khi xoa: \n";
  
// In ra màn hình
print_r($bits); 
  
// Dùng hàm unset() để xoá
unset($bits["PHP"]);
  
echo "Sau khi xoa: \n";
  
// In ra màn hình
print_r($bits); 
  
?> Code language: HTML, XML (xml)

Output:

Truoc khi xoa: 
Array
(
    [Hoc] => Array
        (
            [AB] => 16
            [CD] => 32
        )

    [PHP] => Array
        (
            [AB] => 64
            [CD] => 128
        )

    [Net] => Array
        (
            [AB] => 256
            [CD] => 512
        )

)
Sau khi xoa: 
Array
(
    [Hoc] => Array
        (
            [AB] => 16
            [CD] => 32
        )

    [Net] => Array
        (
            [AB] => 256
            [CD] => 512
        )

)Code language: PHP (php)

Nếu các bạn chưa hiểu rõ về mảng, hãy tham khảo bày viết này.

Tham khảo khóa học lập trình web 6 tháng, đảm bảo 100% công việc đầu ra!

Tham khảo:

https://www.php.net/manual/en/function.unset.php

Leave a Reply

Your email address will not be published.