Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

🏡 Quay trở lại trang chủ

Khám phá những điều cơ bản của PHP và nó là mảng

Xuất bản ngày 17 tháng 12 năm 2019

Chúng tôi sử dụng hàm

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 mà chúng tôi sử dụng để phá hủy các biến để trừ hoặc phá hủy một trong các mảng bạn tạo. Trong thực tế, bạn có thể sử dụng chức năng này để phá hủy tất cả các loại biến.

php
$fruits[0] = 'Apple';
$fruits[1] = 'Pear';

// just to delete an array:
unset ($fruits[0]);
// to delete all:
unset ($fruits);
?>

Có nhiều cách khác nhau để xóa một phần tử mảng, trong đó một số hữu ích hơn cho một số nhiệm vụ cụ thể hơn các nhiệm vụ khác.

Xóa một phần tử mảng duy nhất

Nếu bạn muốn xóa chỉ một phần tử mảng, bạn có thể sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 hoặc thay thế
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
2.

Nếu bạn biết giá trị và don lồng biết chìa khóa để xóa phần tử bạn có thể sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
3 để lấy chìa khóa. Điều này chỉ hoạt động nếu phần tử không xảy ra nhiều hơn một lần, vì
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
4 chỉ trả lại lần đầu tiên.

$array = [0 => "a", 1 => "b", 2 => "c"]; $array = \array_filter($array, static function ($element) { return $element !== "b"; // ↑ // Array value which you want to delete }); 0

Lưu ý rằng khi bạn sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0, các phím mảng đã giành được thay đổi. Nếu bạn muốn làm lại các khóa, bạn có thể sử dụng
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
7 sau
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0, sẽ chuyển đổi tất cả các phím thành các phím được liệt kê bằng số bắt đầu từ 0.

Mã số:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete

Output:

[
    [0] => a
    [2] => c
]

Phương pháp $array = [0 => "a", 1 => "b", 2 => "c"]; $array = \array_filter($array, static function ($element) { return $element !== "b"; // ↑ // Array value which you want to delete }); 2

Nếu bạn sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
2, các khóa sẽ tự động được tái phát, nhưng các khóa liên kết đã giành được thay đổi - trái ngược với
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
7, sẽ chuyển đổi tất cả các phím thành các khóa số.

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
2 cần phần bù, không phải khóa, làm tham số thứ hai.

Code:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete

Output:

[
    [0] => a
    [1] => c
]

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
03, giống như
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0, lấy mảng bằng cách tham chiếu. Bạn không chỉ định các giá trị trả về của các hàm đó trở lại mảng.

Xóa nhiều phần tử mảng

Nếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 hoặc
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
2 nhiều lần, bạn có thể sử dụng các chức năng
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
07 hoặc
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
08 tùy thuộc vào việc bạn biết các giá trị hay khóa của các phần tử mà bạn muốn xóa.

Phương pháp $array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]); // ↑ Key which you want to delete 07

Nếu bạn biết các giá trị của các thành phần mảng mà bạn muốn xóa, thì bạn có thể sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
07. Như trước đây với
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0, nó đã giành được thay đổi các phím của mảng.

Code:

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete

Output:

[
    [1] => b
]

Phương pháp $array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]); // ↑ Key which you want to delete 08

Nếu bạn biết các khóa của các yếu tố mà bạn muốn xóa, thì bạn muốn sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
08. Bạn phải đảm bảo rằng bạn chuyển các phím làm khóa trong tham số thứ hai chứ không phải là giá trị. Keys đã giành được Reindex.

Code:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete

Output:

[
    [1] => b
]

Nếu bạn muốn sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 hoặc
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
2 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
16 để lấy tất cả các khóa cho một giá trị cụ thể và sau đó xóa tất cả các phần tử.

Phương pháp $array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]); // ↑ Key which you want to delete 17

Nếu bạn muốn xóa tất cả các yếu tố có giá trị cụ thể trong mảng bạn có thể sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
17.

Code:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});

Output:

[
    [0] => a
    [1] => c
]

15

Cần lưu ý rằng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 sẽ giữ cho các chỉ mục không bị ảnh hưởng, đó là những gì bạn mong đợi khi sử dụng các chỉ mục chuỗi (mảng là hashtable), nhưng có thể khá đáng ngạc nhiên khi xử lý các mảng được lập chỉ mục số nguyên:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
1

Vì vậy,

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
03 có thể được sử dụng nếu bạn muốn bình thường hóa các khóa số nguyên của mình. Một tùy chọn khác là sử dụng
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
21 sau
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
2

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Ry- ♦

Phim thương hiệu vàng 212K5454 gold badges442 silver badges456 bronze badges

Đã trả lời ngày 15 tháng 12 năm 2008 lúc 21:25Dec 15, 2008 at 21:25

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Stefan Gehrigstefan GehrigStefan Gehrig

81.6K24 Huy hiệu vàng155 Huy hiệu bạc185 Huy hiệu Đồng24 gold badges155 silver badges185 bronze badges

9

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
3

Đây là đầu ra từ mã trên:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
4

Bây giờ, Array_Values ​​() sẽ làm lại một mảng số độc đáo, nhưng nó sẽ loại bỏ tất cả các chuỗi chính khỏi mảng và thay thế chúng bằng các số. Nếu bạn cần lưu giữ các tên khóa (chuỗi) hoặc tái tạo mảng nếu tất cả các phím là số, hãy sử dụng Array_merge ():

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
5

Đầu ra

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
6

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 2 tháng 8 năm 2011 lúc 15:57Aug 2, 2011 at 15:57

Marcel Cozmamarcel CozmaMarcel Cozma

4.2991 Huy hiệu vàng17 Huy hiệu bạc17 Huy hiệu đồng1 gold badge17 silver badges17 bronze badges

3

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
7

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 15 tháng 11 năm 2011 lúc 11:29Nov 15, 2011 at 11:29

Liamvictorliamvictorliamvictor

3.1811 Huy hiệu vàng22 Huy hiệu bạc25 Huy hiệu đồng1 gold badge22 silver badges25 bronze badges

2

Đã trả lời ngày 15 tháng 12 năm 2008 lúc 20:31Dec 15, 2008 at 20:31

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

ERAN Galperineran GalperinEran Galperin

85.5K24 Huy hiệu vàng115 Huy hiệu bạc132 Huy hiệu đồng24 gold badges115 silver badges132 bronze badges

Nếu bạn có một mảng được lập chỉ mục bằng số trong đó tất cả các giá trị là duy nhất (hoặc chúng không phải là đơn độc nhưng bạn muốn xóa tất cả các phiên bản của một giá trị cụ thể), bạn chỉ cần sử dụng Array_Diff () để xóa một phần tử phù hợp, như thế này:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
8

Ví dụ:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
9

Điều này hiển thị như sau:

[
    [0] => a
    [2] => c
]
0

Trong ví dụ này, phần tử có giá trị 'Charles' được xóa như có thể được xác minh bằng các cuộc gọi sizeof () báo cáo kích thước 4 cho mảng ban đầu và 3 sau khi loại bỏ.

Đã trả lời ngày 26 tháng 11 năm 2012 lúc 8:25Nov 26, 2012 at 8:25

Robin Nixonrobin NixonRobin Nixon

7215 Huy hiệu bạc2 Huy hiệu đồng5 silver badges2 bronze badges

1

Ngoài ra, đối với một yếu tố được đặt tên:

[
    [0] => a
    [2] => c
]
1

Mohammad

20.6K15 Huy hiệu vàng53 Huy hiệu bạc80 Huy hiệu Đồng15 gold badges53 silver badges80 bronze badges

Đã trả lời ngày 31 tháng 7 năm 2010 lúc 1:06Jul 31, 2010 at 1:06

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

5

Phá hủy một yếu tố duy nhất của một mảng

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0

[
    [0] => a
    [2] => c
]
2

Đầu ra sẽ là:

[
    [0] => a
    [2] => c
]
3

Nếu bạn cần lập chỉ mục lại mảng:

[
    [0] => a
    [2] => c
]
4

Sau đó, đầu ra sẽ là:

[
    [0] => a
    [2] => c
]
5

Bật phần tử ra khỏi phần cuối của mảng - trả về giá trị của phần tử bị xóa - return the value of the removed element

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
24

[
    [0] => a
    [2] => c
]
6

Đầu ra sẽ là

[
    [0] => a
    [2] => c
]
7

Xóa phần tử đầu tiên (màu đỏ) khỏi một mảng, - trả về giá trị của phần tử bị xóa, - return the value of the removed element

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
25

[
    [0] => a
    [2] => c
]
8

Đầu ra sẽ là:

[
    [0] => a
    [2] => c
]
9

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Nếu bạn cần lập chỉ mục lại mảng:Jul 19, 2015 at 15:37

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Sau đó, đầu ra sẽ là:KTAnj

Bật phần tử ra khỏi phần cuối của mảng - trả về giá trị của phần tử bị xóa14 silver badges35 bronze badges

2

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
0

Đầu ra sẽ là

Xóa phần tử đầu tiên (màu đỏ) khỏi một mảng, - trả về giá trị của phần tử bị xóa

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 19 tháng 7 năm 2015 lúc 15:37Jun 11, 2013 at 5:51

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

5

Ktanjktanj

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
2

1.32614 huy hiệu bạc35 huy hiệu đồng

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
3

Đầu ra:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
1May 23, 2019 at 12:26

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 11 tháng 6 năm 2013 lúc 5:51Ahmad Mobaraki

Nếu chỉ mục được chỉ định:4 gold badges47 silver badges65 bronze badges

7

Nếu chúng ta có giá trị thay vì chỉ mục:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
4

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Dharman ♦

Phù hiệu vàng 28K2121 gold badges75 silver badges127 bronze badges

Đã trả lời ngày 18 tháng 2 năm 2016 lúc 1:40Feb 18, 2016 at 1:40

Spylespylespyle

1.92026 huy hiệu bạc23 Huy hiệu đồng26 silver badges23 bronze badges

Nếu bạn cần xóa nhiều phần tử khỏi mảng kết hợp, bạn có thể sử dụng Array_Diff_Key () (ở đây được sử dụng với Array_Flip ()):

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
5

Output:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
6

Đã trả lời ngày 20 tháng 4 năm 2016 lúc 21:05Apr 20, 2016 at 21:05

SimonsimonSimon

3.3102 Huy hiệu vàng20 Huy hiệu bạc22 Huy hiệu đồng2 gold badges20 silver badges22 bronze badges

2

Mảng liên kết

Đối với các mảng kết hợp, sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
30:
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
30
:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
7

Mảng số

Đối với các mảng số, sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
31:
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
31
:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
8

Ghi chú

Sử dụng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
30 cho các mảng số sẽ không gây ra lỗi, nhưng nó sẽ làm rối các chỉ mục của bạn:
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
30
for numeric arrays will not produce an error, but it will mess up your indexes:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete
9

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 11 tháng 3 năm 2016 lúc 18:48Mar 11, 2016 at 18:48

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

John Slegersjohn SlegersJohn Slegers

42,8K22 Huy hiệu vàng194 Huy hiệu bạc163 Huy hiệu đồng22 gold badges194 silver badges163 bronze badges

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 phá hủy các biến được chỉ định.

Hành vi của

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 bên trong một hàm có thể thay đổi tùy thuộc vào loại biến mà bạn đang cố gắng phá hủy.

Nếu một biến toàn cầu hóa là

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 bên trong hàm, chỉ có biến cục bộ bị phá hủy. Biến trong môi trường gọi sẽ giữ lại giá trị tương tự như trước
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 được gọi.

[
    [0] => a
    [1] => c
]
0

Câu trả lời của mã trên sẽ là thanh.bar.

Đến

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 một biến toàn cầu bên trong một hàm:

[
    [0] => a
    [1] => c
]
1

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 26 tháng 7 năm 2013 lúc 20:11Jul 26, 2013 at 20:11

[
    [0] => a
    [1] => c
]
2

Đã trả lời ngày 2 tháng 4 năm 2016 lúc 18:42Apr 2, 2016 at 18:42

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

GigolandgigolandGigoland

9219 Huy hiệu bạc10 Huy hiệu đồng9 silver badges10 bronze badges

1

Solutions:

  1. Để xóa một phần tử, hãy sử dụng unset ():
[
    [0] => a
    [1] => c
]
3
  1. Để xóa nhiều yếu tố không liên tục, cũng sử dụng unset ():
[
    [0] => a
    [1] => c
]
4
  1. Để xóa nhiều phần tử tiếp giáp, hãy sử dụng Array_Splice ():
[
    [0] => a
    [1] => c
]
5

Giải thích thêm:

Sử dụng các chức năng này sẽ loại bỏ tất cả các tham chiếu đến các yếu tố này từ PHP. Nếu bạn muốn giữ một phím trong mảng, nhưng với giá trị trống, hãy gán chuỗi trống cho phần tử:

[
    [0] => a
    [1] => c
]
6

Bên cạnh cú pháp, có một sự khác biệt logic giữa việc sử dụng unset () và gán '' cho phần tử. Người đầu tiên nói

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
38 trong khi lần thứ hai nói
$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
39

Nếu bạn đang xử lý các con số, việc gán 0 có thể là một lựa chọn tốt hơn. Vì vậy, nếu một công ty ngừng sản xuất Sprocket Model XL1000, nó sẽ cập nhật hàng tồn kho của mình với:

[
    [0] => a
    [1] => c
]
7

Tuy nhiên, nếu nó tạm thời hết XL1000 Sprockets, nhưng đã lên kế hoạch nhận một lô hàng mới từ nhà máy vào cuối tuần này, điều này tốt hơn:

[
    [0] => a
    [1] => c
]
8

Nếu bạn không ngừng () một phần tử, PHP sẽ điều chỉnh mảng để vòng lặp vẫn hoạt động chính xác. Nó không nén mảng để điền vào các lỗ bị thiếu. Đây là những gì chúng tôi muốn nói khi chúng tôi nói rằng tất cả các mảng là kết hợp, ngay cả khi chúng có vẻ là số. Đây là một ví dụ:

[
    [0] => a
    [1] => c
]
9

Để nén mảng vào một mảng số dày đặc, hãy sử dụng Array_Values ​​():

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
0

Ngoài ra, Array_Splice () tự động làm lại mảng để tránh để lại các lỗ:

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
1

Điều này rất hữu ích nếu bạn đang sử dụng mảng làm hàng đợi và muốn xóa các mục khỏi hàng đợi trong khi vẫn cho phép truy cập ngẫu nhiên. Để loại bỏ một cách an toàn phần tử đầu tiên hoặc cuối cùng khỏi một mảng, hãy sử dụng Array_Shift () và Array_Pop (), tương ứng.

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 29 tháng 1 năm 2018 lúc 11:08Jan 29, 2018 at 11:08

Abdur Rehmanabdur RehmanAbdur Rehman

3.1325 huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng5 gold badges32 silver badges47 bronze badges

Thực hiện theo các chức năng mặc định:

  • PHP: Unset

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 phá hủy các biến được chỉ định. Để biết thêm thông tin, bạn có thể tham khảo PHP Unset

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
2
  • PHP: Array_pop

Hàm

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
41 xóa phần tử cuối cùng của một mảng. Để biết thêm thông tin, bạn có thể tham khảo Php Array_Pop

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
3
  • PHP: Array_Splice

Hàm

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
03 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. Để biết thêm thông tin, bạn có thể tham khảo Php Array_Splice

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
4
  • PHP: Array_Shift

Hàm

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
43 loại bỏ phần tử đầu tiên khỏi một mảng. Để biết thêm thông tin, bạn có thể tham khảo Php Array_Shift

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
5

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Rabby

3024 Huy hiệu bạc15 Huy hiệu Đồng4 silver badges15 bronze badges

Đã trả lời ngày 25 tháng 1 năm 2016 lúc 13:07Jan 25, 2016 at 13:07

MSVAIRAMMSVAIRAMmsvairam

8325 Huy hiệu bạc12 Huy hiệu Đồng5 silver badges12 bronze badges

Tôi chỉ muốn nói rằng tôi có một đối tượng cụ thể có các thuộc tính biến (về cơ bản nó đã ánh xạ một bảng và tôi đã thay đổi các cột trong bảng, vì vậy các thuộc tính trong đối tượng, phản ánh bảng cũng sẽ thay đổi):

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
6

Toàn bộ mục đích của

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
44 chỉ là, vì vậy tôi không phải nhìn mọi nơi trong mã khi chúng được thay đổi, tôi chỉ nhìn vào phần đầu của lớp và thay đổi danh sách các thuộc tính và nội dung mảng trường $ để phản ánh thuộc tính mới.$fields array content to reflect the new attributes.

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 21 tháng 8 năm 2013 lúc 2:31Aug 21, 2013 at 2:31

OxydeloxydelOxydel

1661 Huy hiệu bạc5 Huy hiệu đồng1 silver badge5 bronze badges

Giả sử bạn có mảng sau:

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
7

Để xóa

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
45, làm:

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
8

Và bạn nhận được:

$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
9

Abdur Rehman

3.1325 huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng5 gold badges32 silver badges47 bronze badges

Thực hiện theo các chức năng mặc định:Jun 11, 2015 at 22:25

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

PHP: UnsetTebe

3.0957 Huy hiệu vàng37 Huy hiệu bạc58 Huy hiệu Đồng7 gold badges37 silver badges58 bronze badges

4

Hai cách để loại bỏ mục đầu tiên của một mảng với thứ tự giữ chỉ mục và cả nếu bạn không biết tên chính của mục đầu tiên.

Giải pháp #1

[
    [1] => b
]
0

Giải pháp #2

[
    [1] => b
]
1

Đối với dữ liệu mẫu này:

[
    [1] => b
]
2

Bạn phải có kết quả này:

[
    [1] => b
]
3

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 16 tháng 10 năm 2018 lúc 1:20Oct 16, 2018 at 1:20

Nabi K.A.Z.Nabi K.A.Z.Nabi K.A.Z.

8.8066 huy hiệu vàng53 Huy hiệu bạc71 Huy hiệu đồng6 gold badges53 silver badges71 bronze badges

3

unset () nhiều phần tử bị phân mảnh từ một mảng

Mặc dù

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 đã được đề cập ở đây nhiều lần, nhưng vẫn chưa được đề cập rằng
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
0 chấp nhận nhiều biến giúp dễ dàng xóa nhiều yếu tố, không liên tục khỏi một mảng trong một thao tác:

[
    [1] => b
]
4

unset () một cách linh hoạt

Untet () không chấp nhận một mảng các phím để xóa, vì vậy mã bên dưới sẽ thất bại (mặc dù sẽ làm cho việc sử dụng unset () một cách linh hoạt hơn một chút).

[
    [1] => b
]
5

Thay vào đó, unset () có thể được sử dụng một cách động trong vòng lặp foreach:

[
    [1] => b
]
6

Xóa các phím mảng bằng cách sao chép mảng

Ngoài ra còn có một thực hành khác chưa được đề cập. Đôi khi, cách đơn giản nhất để loại bỏ các phím mảng nhất định là chỉ cần sao chép $ mảng1 vào $ mảng2.

[
    [1] => b
]
7

Rõ ràng, thực tiễn tương tự áp dụng cho các chuỗi văn bản:

[
    [1] => b
]
8

Abdur Rehman

3.1325 huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng5 gold badges32 silver badges47 bronze badges

Đã trả lời ngày 7 tháng 12 năm 2017 lúc 6:28Dec 7, 2017 at 6:28

[
    [1] => b
]
9

Đầu ra

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
0

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 16 tháng 8 năm 2016 lúc 15:36Aug 16, 2016 at 15:36

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

1

Xóa phần tử mảng dựa trên khóa:

Sử dụng chức năng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
30 như dưới đây:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
1

Xóa phần tử mảng dựa trên giá trị:

Sử dụng chức năng

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete
49 để lấy khóa phần tử và sử dụng cách trên để xóa phần tử mảng như bên dưới:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
2

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Đã trả lời ngày 22 tháng 9 năm 2017 lúc 10:28Sep 22, 2017 at 10:28

MahdiymahdiyMahdiY

1.26921 huy hiệu bạc31 huy hiệu đồng21 silver badges31 bronze badges

1

Chỉnh sửa

Nếu bạn không thể thực hiện nó như đã cho rằng đối tượng nằm trong mảng đó, bạn cần thêm kiểm tra:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
3

Câu trả lời ban đầu

Nếu bạn muốn xóa một đối tượng cụ thể của một mảng bằng cách tham chiếu của đối tượng đó, bạn có thể làm sau:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
4

Example:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
5

Result:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
6

Lưu ý rằng nếu đối tượng xảy ra nhiều lần, nó sẽ chỉ bị xóa lần đầu tiên!

Đã trả lời ngày 11 tháng 6 năm 2019 lúc 10:16Jun 11, 2019 at 10:16

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Sam Tiglesam TigleSam Tigle

3533 Huy hiệu bạc12 Huy hiệu Đồng3 silver badges12 bronze badges

3

Sử dụng mã sau:

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
7

1

Tôi đến đây bởi vì tôi muốn xem liệu có một giải pháp thanh lịch hơn cho vấn đề này hơn là sử dụng Unfet ($ mảng [$ i]). Đối với sự thất vọng của tôi, những câu trả lời này là sai hoặc không bao gồm mọi trường hợp cạnh.

Đây là lý do tại sao Array_Diff () không hoạt động. Các khóa là duy nhất trong mảng, trong khi các yếu tố không phải lúc nào cũng duy nhất.

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
8

Results...

$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               // ↑           ↑
                               // Array keys which you want to delete
9

Nếu hai yếu tố giống nhau, chúng sẽ được loại bỏ. Điều này cũng áp dụng cho Array_Search () và Array_flip ().

Tôi đã thấy rất nhiều câu trả lời với Array_Slice () và Array_Splice (), nhưng các hàm này chỉ hoạt động với các mảng số. Tất cả các câu trả lời tôi biết nếu ở đây không trả lời câu hỏi, và vì vậy đây là một giải pháp sẽ hoạt động.

[
    [1] => b
]
0

Vì unset ($ mảng [$ i]) sẽ hoạt động trên cả mảng kết hợp và mảng số, điều này vẫn không trả lời câu hỏi.

Giải pháp này là so sánh các khóa và với một công cụ sẽ xử lý cả mảng số và kết hợp. Tôi sử dụng Array_Diff_uassoc () cho điều này. Hàm này so sánh các phím trong chức năng gọi lại.

[
    [1] => b
]
1

Results.....

[
    [1] => b
]
2

Đã trả lời ngày 13 tháng 10 năm 2020 lúc 14:32Oct 13, 2020 at 14:32

Jed Lynchjed LynchJed Lynch

1.74017 Huy hiệu bạc12 Huy hiệu đồng17 silver badges12 bronze badges

0

Bước một FIRT của tất cả bắt đầu với PHP Syntex

[
    [1] => b
]
3

Bước hai

Tạo một mảng có tên là động vật

[
    [1] => b
]
4

Bước thứ ba

Xóa mục tại INDEX 1 là 'cho'

[
    [1] => b
]
5

Bước bốn

In mảng sửa đổi

[
    [1] => b
]
6

Bước năm

Chỉ nhóm lại các phần tử mảng

[
    [1] => b
]
7

Bước sáu

In lại mảng được chỉ mục lại

[
    [1] => b
]
8

Bước bảy

Đóng mã PHP

[
    [1] => b
]
9

Đã trả lời ngày 27 tháng 9 lúc 18:48Sep 27 at 18:48

Hướng dẫn how do you delete an array in php? - làm thế nào để bạn xóa một mảng trong php?

Làm thế nào để bạn xóa một mảng?

Cách chính xác để loại bỏ một mục khỏi một mảng là sử dụng splice (). Nó cần một chỉ mục và số lượng các mục để xóa bắt đầu từ chỉ mục đó. Đừng nhầm lẫn điều này với lát cắt tương tự () () được sử dụng để trích xuất một phần của một mảng.use splice() . It takes an index and amount of items to delete starting from that index. Don't confuse this with its similar cousin slice() that is used to extract a section of an array.

Làm thế nào để bạn xóa một khóa mảng?

Sử dụng hàm unSet (): hàm unset () được sử dụng để loại bỏ phần tử khỏi mảng.Hàm Untet được sử dụng để phá hủy bất kỳ biến nào khác và cùng cách sử dụng để xóa bất kỳ yếu tố nào của mảng.Lệnh Untet này lấy phím mảng làm đầu vào và loại bỏ phần tử đó khỏi mảng.: The unset() function is used to remove element from the array. The unset function is used to destroy any other variable and same way use to delete any element of an array. This unset command takes the array key as input and removed that element from the array.

Làm thế nào để bạn xóa các giá trị 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.

Làm thế nào để bạn loại bỏ một mảng khỏi một hàm?

Xóa một công thức mảng..
Nhấp vào một ô trong công thức mảng ..
Trên tab Trang chủ, trong nhóm chỉnh sửa, nhấp vào Tìm & Chọn, sau đó nhấp vào Đi đến ..
Nhấp vào Đặc biệt ..
Nhấp vào mảng hiện tại ..
Nhấn Xóa ..