Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

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.

Show

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
});
9 hoặc thay thế
[
    [0] => a
    [1] => c
]
0.

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

[
    [0] => a
    [1] => c
]
1 để 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ì
[
    [0] => a
    [1] => c
]
2 chỉ trả về lần đánh đầ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 }); 9

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
});
9, 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
[
    [0] => a
    [1] => c
]
5 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
});
9, sẽ chuyển đổi tất cả các phím thành các khóa đượ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 [ [0] => a [1] => c ] 0

Nếu bạn sử dụng

[
    [0] => a
    [1] => c
]
0, 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
[
    [0] => a
    [1] => c
]
5, sẽ chuyển đổi tất cả các phím thành các khóa số.

[
    [0] => a
    [1] => c
]
0 cần phần bù, không phải là 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
]

[
    [0] => a
    [2] => c
]
01, 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
});
9, 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
});
9 hoặc
[
    [0] => a
    [1] => c
]
0 nhiều lần, bạn có thể sử dụng các chức năng
[
    [0] => a
    [2] => c
]
05 hoặc
[
    [0] => a
    [2] => c
]
06 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 [ [0] => a [2] => c ] 05

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

[
    [0] => a
    [2] => c
]
05. 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
});
9, 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 [ [0] => a [2] => c ] 06

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

[
    [0] => a
    [2] => c
]
06. 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
});
9 hoặc
[
    [0] => a
    [1] => c
]
0 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng
[
    [0] => a
    [2] => c
]
14 để 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 [ [0] => a [2] => c ] 15

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

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

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
]

16

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
});
9 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:

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

Vì vậy,

[
    [0] => a
    [2] => c
]
01 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
[
    [0] => a
    [2] => c
]
19 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
});
9:

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

Ry- ♦

213K54 Huy hiệu vàng446 Huy hiệu bạc460 Huy hiệu Đồng54 gold badges446 silver badges460 bronze badges

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

Stefan Gehrigstefan GehrigStefan Gehrig

81.7K24 Huy hiệu vàng156 Huy hiệu bạc187 Huy hiệu đồng24 gold badges156 silver badges187 bronze badges

9

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

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

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

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 ():

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

Đầu ra

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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.3191 Huy hiệu vàng17 Huy hiệu bạc17 Huy hiệu đồng1 gold badge17 silver badges17 bronze badges

3

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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.1911 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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

ERAN Galperineran GalperinEran Galperin

85,6K24 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:

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

Ví dụ:

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

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

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

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:

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

Mohammad

20.7K15 Huy hiệu vàng53 Huy hiệu bạc81 Huy hiệu đồng15 gold badges53 silver badges81 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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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
});
9

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

Đầu ra sẽ là:

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

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

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

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

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

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

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

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

Đầu ra sẽ là

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

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

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

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

Đầu ra sẽ là:

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

KtanjktanjKTAnj

1.33614 huy hiệu bạc35 huy hiệu đồng14 silver badges35 bronze badges

2

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

Đầu ra:

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

5

Nếu chỉ mục được chỉ định:

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

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

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

Điều kiện

[
    [0] => a
    [2] => c
]
24 là cần thiết bởi vì nếu không tìm thấy
[
    [0] => a
    [2] => c
]
25,
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = \array_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
9 sẽ tự động xóa phần tử đầu tiên của mảng không phải là thứ chúng ta muốn.

Đã trả lời ngày 23 tháng 5 năm 2019 lúc 12:26May 23, 2019 at 12:26

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

Ahmad Mobarakiahmad MobarakiAhmad Mobaraki

6.5154 Huy hiệu vàng49 Huy hiệu bạc67 Huy hiệu đồng4 gold badges49 silver badges67 bronze badges

7

Nếu bạn phải xóa nhiều giá trị trong một mảng và các mục trong mảng đó là đối tượng hoặc dữ liệu có cấu trúc,

[
    [0] => a
    [2] => c
]
27 là đặt cược tốt nhất của bạn. Những mục nhập trả về đúng từ chức năng gọi lại sẽ được giữ lại.

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

Dharman ♦

28.5K21 Huy hiệu vàng79 Huy hiệu bạc129 Huy hiệu đồng21 gold badges79 silver badges129 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.93026 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 ()):

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

Output:

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

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

SimonsimonSimon

3.3702 Huy hiệu vàng20 Huy hiệu bạc24 Huy hiệu đồng2 gold badges20 silver badges24 bronze badges

2

Mảng liên kết

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

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

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

Mảng số

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

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

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

Ghi chú

Sử dụng

[
    [0] => a
    [2] => c
]
28 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:
[
    [0] => a
    [2] => c
]
28
for numeric arrays will not produce an error, but it will mess up your indexes:

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

John Slegersjohn SlegersJohn Slegers

43.3K22 Huy hiệu vàng197 Huy hiệu bạc165 Huy hiệu đồng22 gold badges197 silver badges165 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
});
9 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
});
9 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
});
9 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
});
9 được gọi.

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

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
});
9 một biến toàn cầu bên trong một hàm:

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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

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

Đã 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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

GigolandgigolandGigoland

9819 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 ():
$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
2
  1. Để xóa nhiều yếu tố không liên tục, cũng sử dụng unset ():
$array = [0 => "a", 1 => "b", 2 => "c", 3 => "c"];
$array = \array_diff($array, ["a", "c"]);
                          // └────────┘
                          // Array values which you want to delete
3
  1. Để xóa nhiều phần tử tiếp giáp, hãy sử dụng 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

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ử:

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

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

[
    [0] => a
    [2] => c
]
36 trong khi lần thứ hai nói
[
    [0] => a
    [2] => c
]
37

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:

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

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:

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

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ụ:

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

Để 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
9

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

[
    [1] => b
]
0

Đ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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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àng33 Huy hiệu bạc48 Huy hiệu đồng5 gold badges33 silver badges48 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
});
9 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

[
    [1] => b
]
1
  • PHP: Array_pop

Hàm

[
    [0] => a
    [2] => c
]
39 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

[
    [1] => b
]
2
  • PHP: Array_Splice

Hàm

[
    [0] => a
    [2] => c
]
01 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

[
    [1] => b
]
3
  • PHP: Array_Shift

Hàm

[
    [0] => a
    [2] => c
]
41 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

[
    [1] => b
]
4

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

Rabby

3224 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):

[
    [1] => b
]
5

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

[
    [0] => a
    [2] => c
]
42 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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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:

[
    [1] => b
]
6

Để xóa

[
    [0] => a
    [2] => c
]
43, làm:

[
    [1] => b
]
7

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

[
    [1] => b
]
8

Abdur Rehman

3.1325 huy hiệu vàng33 Huy hiệu bạc48 Huy hiệu đồng5 gold badges33 silver badges48 bronze badges

Đã trả lời ngày 11 tháng 6 năm 2015 lúc 22:25Jun 11, 2015 at 22:25

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

TebetebeTebe

3.1057 Huy hiệu vàng37 Huy hiệu bạc59 Huy hiệu Đồng7 gold badges37 silver badges59 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
]
9

Giải pháp #2

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

Đối với dữ liệu mẫu nà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

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

$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 which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi 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.9766 huy hiệu vàng55 Huy hiệu bạc73 Huy hiệu đồng6 gold badges55 silver badges73 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
});
9 đã đượ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
});
9 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:

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

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).

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

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

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

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.

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

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

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

Abdur Rehman

3.1325 huy hiệu vàng33 Huy hiệu bạc48 Huy hiệu đồng5 gold badges33 silver badges48 bronze badges

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

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

Tebetebe

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

3.1057 Huy hiệu vàng37 Huy hiệu bạc59 Huy hiệu ĐồngAug 16, 2016 at 15:36

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

1

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

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

[
    [1] => b
]
1

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

Bạn phải có kết quả này:Sep 22, 2017 at 10:28

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

Nabi K.A.Z.Nabi K.A.Z.22 silver badges32 bronze badges

1

8.9766 huy hiệu vàng55 Huy hiệu bạc73 Huy hiệu đồng

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

[
    [1] => b
]
2

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 }); 9 đã đượ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 }); 9 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:

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

[
    [1] => b
]
3

Example:

[
    [1] => b
]
4

Result:

[
    [1] => b
]
5

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).

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

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

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

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.3 silver badges12 bronze badges

3

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

[
    [1] => b
]
6

1

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

Đầu ra

[
    [1] => b
]
7

Results...

[
    [1] => b
]
8

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

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

[
    [1] => b
]
9

Sử dụng chức năng

[
    [0] => a
    [2] => c
]
28 như dưới đây:

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

$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

Results.....

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

Sử dụng chức năng

[
    [0] => a
    [2] => c
]
47 để 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:Oct 13, 2020 at 14:32

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

Mahdiymahdiy17 silver badges12 bronze badges

0

1.26922 huy hiệu bạc32 huy hiệu đồ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

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_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value 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_filter($array, static function ($element) {
    return $element !== "b";
    //                   ↑
    // Array value which you want to delete
});
4

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:16

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

Sam Tiglesam Tigle

3433 Huy hiệu bạc12 Huy hiệu Đồ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
});
6

Sử dụng mã sau:

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.

$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

Đâ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.

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 ().

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

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.Sep 27 at 18:48

Hướng dẫn which function is used to remove or delete elements from an array in php? - Hàm nào được sử dụng để loại bỏ hoặc xóa các phần tử khỏi một mảng trong php?

Chức năng nào được sử dụng để loại bỏ hoặc xóa các 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 used to remove elements from the end of an array. shift() function: This method is used to remove elements from the start of an array. splice() function: This method is used to remove elements from the specific index of an array.

Hàm để xóa một phần tử của một mảng trong PHP là gì?

Có nhiều cách để xóa một phần tử khỏi một mảng trong PHP ...
unSet (): Hàm này lấy một phần tử làm tham số và hủy đặt nó.....
Array_Splice (): Hàm này lấy ba tham số một mảng, bù (nơi bắt đầu) và độ dài (số lượng phần tử sẽ được xóa) ..

Hàm Array_Search trong PHP là gì?

Array_Search () là một hàm sẵn có trong PHP được sử dụng để tìm kiếm một giá trị cụ thể trong một mảng và nếu tìm thấy giá trị thì nó sẽ trả về khóa tương ứng của nó.Nếu có nhiều hơn một giá trị thì khóa của giá trị khớp đầu tiên sẽ được trả về.Cú pháp: Array_Search ($ value, $ mảng, strict_parameter)used to search for a particular value in an array, and if the value is found then it returns its corresponding key. If there are more than one values then the key of the first matching value will be returned. Syntax: array_search($value, $array, strict_parameter)

Ví dụ, chèn và loại bỏ các phần tử mảng trong PHP với ví dụ là gì?

các giá trị hoặc phần tử được thêm vào ở vị trí bắt đầu.$ name = mảng ("John", "Tom");Array_unshift ($ name, "Jony", "Richy");... Thêm và loại bỏ các phần tử mảng trong PHP ..