Hướng dẫn how to remove key in array php - cách xóa khóa trong mảng php

Mặc dù một mảng trong PHP là "một loại liên kết các giá trị với các khóa" và một số người nói rằng không thể tháo các phím, theo một nghĩa nào đó, bạn có thể tháo các phím ra khỏi một mảng .

Tôi cho rằng bạn muốn thay đổi mảng thành một mảng tương đương với một mảng được khởi tạo mà không có các khóa rõ ràng. Chẳng hạn, bạn có thể có mảng này:

$arr = array(2 => 'a', 3 => 'b', 4 => 'c');

Nhưng bạn muốn nó tương đương với:

$arr = array('a', 'b', 'c');

Có thể làm điều đó bằng cách sử dụng hàm "Array_Values", như thế này:

$arr = array_values($arr);

Tuy nhiên, lưu ý, mảng vẫn có các phím: 0, 1, 2 và 3.

Điều quan trọng cần lưu ý là các khóa số nguyên không giống như các chỉ mục mảng. Chẳng hạn, đoạn mã này:

 '', 4 => '', 1 => '', 2 => '');
foreach($arr as $k => $v):
    echo "$k ";
endforeach;

sẽ đầu ra:

3 4 1 2

Hàm "mảng_values" có thể được sử dụng để đảm bảo các giá trị và chỉ mục các phím giống nhau:

 '', 4 => '', 1 => '', 2 => '');
    foreach(array_values($arr) as $k => $v):
        echo "$k ";
    endforeach;
    // outputs: 0, 1, 2, 3

Tôi đã giải thích cách "xóa" các khóa, nhưng bạn có thể muốn triển khai một lớp cho các chủ đề, tạo giao diện cho nội dung chủ đề (hình ảnh động, hình ảnh, v.v.) và kiểm tra các cấu trúc dữ liệu SPL.

Để loại bỏ một khóa và giá trị tương ứng của nó khỏi một mảng kết hợp trong PHP, bạn có thể sử dụng hàm

$arr = array('a', 'b', 'c');
0.


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
//     [Geeko] => openSUSE
// )

Như tên của hàm cho thấy, bạn sử dụng hàm

$arr = array('a', 'b', 'c');
0 để hủy đặt một biến nhất định hoặc trong trường hợp này là khóa mảng có giá trị của nó.

Xóa nhiều khóa khỏi mảng kết hợp

Loại bỏ nhiều khóa khỏi mảng kết hợp cũng có thể được thực hiện bằng cách sử dụng

$arr = array('a', 'b', 'c');
0. Bạn có thể chuyển càng nhiều phím để giải phóng dưới dạng đối số cho hàm
$arr = array('a', 'b', 'c');
0. Xem ví dụ dưới đây nơi hai khóa được thả từ mảng kết hợp.


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )

Tuy nhiên, hữu ích, cách tiếp cận ở trên có thể trở nên hơi tẻ nhạt khi bạn cần xóa nhiều khóa từ mảng kết hợp. Trong trường hợp đó có một tùy chọn khác, hàm

$arr = array('a', 'b', 'c');
4. Hàm
$arr = array('a', 'b', 'c');
4 so sánh mảng bạn chuyển nó dưới dạng đối số đầu tiên của nó và trả về một mảng với các giá trị không có trong mảng bạn vượt qua nó trong mảng thứ hai.

Trái ngược với các tùy chọn khác tôi trình bày ở đây phương pháp này yêu cầu bạn chỉ định các giá trị mà bạn xóa các khóa (và giá trị). Thay vì các khóa mà bạn muốn xóa các giá trị (và khóa).


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

$values = array_diff($mascots, ['openSUSE', 'Go']);

print_r($values);
// Array
// (
//     [ElePHPant] => php
// )

Cách tiếp cận cuối cùng này có vẻ đặc biệt thuận tiện nếu bạn cần loại bỏ các khóa (và giá trị) một cách linh hoạt trong mã của bạn.

Để loại bỏ tất cả các khóa từ một mảng PHP liên kết về cơ bản để biến mảng thành một mảng được lập chỉ mục số thông thường. Điều này có thể đạt được bằng cách chỉ lấy các giá trị từ mảng PHP liên kết.

Vì các mảng liên kết trong PHP được đặt hàng, giống như các mảng được lập chỉ mục bằng số, chúng ta có thể chỉ lấy các giá trị và duy trì thứ tự ban đầu của mảng.


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

$values = array_values($mascots);

print_r($values);
// Array
// (
//     [0] => php
//     [1] => openSUSE
//     [2] => Go
// )

Mẫu mã trên tạo ra một mảng mới từ các giá trị của

$arr = array('a', 'b', 'c');
6 và lưu trữ kết quả trong biến
$arr = array('a', 'b', 'c');
7. Mảng
$arr = array('a', 'b', 'c');
7 là một mảng được lập chỉ mục số thông thường, do đó tất cả các khóa từ mảng kết hợp
$arr = array('a', 'b', 'c');
6 không còn có nữa.

  • PHP

Làm cách nào để loại bỏ một phần tử khỏi một mảng?

Hàm pop (): Phương thức này được sử dụng để loại bỏ các phần tử từ cuối một mảng. Hàm shift (): Phương thức này được sử dụng để loại bỏ các phần tử từ đầu một mảng. Hàm splice (): Phương pháp này được sử dụng để loại bỏ các phần tử khỏi chỉ số cụ thể của một mảng.: This method is use to remove elements from the end of an array. shift() function: This method is use to remove elements from the start of an array. splice() function: This method is use to remove elements from the specific index of an array.

Array_Keys () được sử dụng để làm gì?

Array_Keys () là một hàm tích hợp trong PHP và được sử dụng để trả về tất cả các khóa và mảng hoặc tập hợp con của các khóa.Tham số: Hàm lấy ba tham số trong đó một tham số là bắt buộc và hai tham số khác là tùy chọn.to return either all the keys of and array or the subset of the keys. Parameters: The function takes three parameters out of which one is mandatory and other two are optional.

Làm thế nào để bạn xóa mảng kết hợp trong PHP?

Trả lời: Sử dụng hàm unset () PHP () Nếu bạn muốn xóa một phần tử khỏi mảng, bạn chỉ cần sử dụng hàm unset ().Ví dụ sau đây cho thấy cách xóa một phần tử khỏi một mảng kết hợp và mảng số.Use the PHP unset() Function If you want to delete an element from an array you can simply use the unset() function. The following example shows how to delete an element from an associative array and numeric array.

Hàm Array_Splice () nào cho một ví dụ?

Hàm mảng_splice () loại bỏ các phần tử được chọn khỏi một mảng và thay thế nó bằng các phần tử mới.Hàm cũng trả về một mảng với các phần tử bị loại bỏ.Mẹo: Nếu hàm không loại bỏ bất kỳ phần tử nào (độ dài = 0), mảng thay thế sẽ được chèn từ vị trí của tham số bắt đầu (xem Ví dụ 2).removes selected elements from an array and replaces it with new elements. The function also returns an array with the removed elements. Tip: If the function does not remove any elements (length=0), the replaced array will be inserted from the position of the start parameter (See Example 2).