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ảngXuất bản ngày 17 tháng 12 năm 2019 Show
Chúng tôi sử dụng hàm 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. 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ấtNếu bạn muốn xóa chỉ một phần tử mảng, bạn có thể sử dụng 0 hoặc thay thế 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 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ì 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 }); 0Lưu ý rằng khi bạn sử dụng 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 7 sau 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ố:
Output:
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 }); 2Nếu bạn sử dụng 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 7, sẽ chuyển đổi tất cả các phím thành các khóa số. 2 cần phần bù, không phải khóa, làm tham số thứ hai.Code:
Output:
03, giống như 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ảngNếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi 0 hoặc 2 nhiều lần, bạn có thể sử dụng các chức năng 07 hoặc 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 07Nế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 07. Như trước đây với 0, nó đã giành được thay đổi các phím của mảng.Code:
Output:
Phương pháp $array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]); // ↑ Key which you want to delete 08Nế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 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:
Output:
Nếu bạn muốn sử dụng 0 hoặc 2 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng 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 17Nế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 17.Code:
Output:
15 Cần lưu ý rằng 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: 1Vì vậy, 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 21 sau 0: 2
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
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 3Đây là đầu ra từ mã trên: 4Bâ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 (): 5Đầu ra 6
Đã 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 7
Đã 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
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: 8Ví dụ: 9Điều này hiển thị như sau: 0Trong 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: 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
5 Phá hủy một yếu tố duy nhất của một mảng
2Đầu ra sẽ là: 3Nếu bạn cần lập chỉ mục lại mảng: 4Sau đó, đầu ra sẽ là: 5Bậ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
6Đầu ra sẽ là 7Xó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
8Đầu ra sẽ là: 9
Nếu bạn cần lập chỉ mục lại mảng:Jul 19, 2015 at 15:37
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 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
Đã trả lời ngày 19 tháng 7 năm 2015 lúc 15:37Jun 11, 2013 at 5:51
5 Ktanjktanj 21.32614 huy hiệu bạc35 huy hiệu đồng 3Đầu ra: 1May 23, 2019 at 12:26
Đã 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: 4
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 ()): 5Output: 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 30: 30: 7Mảng sốĐối với các mảng số, sử dụng 31: 31: 8Ghi chúSử dụng 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: 30 for numeric arrays will not produce an error, but it will mess up your indexes: 9
Đã trả lời ngày 11 tháng 3 năm 2016 lúc 18:48Mar 11, 2016 at 18:48
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 0 phá hủy các biến được chỉ định.Hành vi của 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à 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 0 được gọi. 0Câu trả lời của mã trên sẽ là thanh.bar. Đến 0 một biến toàn cầu bên trong một hàm: 1
Đã trả lời ngày 26 tháng 7 năm 2013 lúc 20:11Jul 26, 2013 at 20:11
2Đã trả lời ngày 2 tháng 4 năm 2016 lúc 18:42Apr 2, 2016 at 18:42
GigolandgigolandGigoland 9219 Huy hiệu bạc10 Huy hiệu đồng9 silver badges10 bronze badges 1 Solutions:
3
4
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ử: 6Bê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 38 trong khi lần thứ hai nói 39Nế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: 7Tuy 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: 8Nế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ụ: 9Để nén mảng vào một mảng số dày đặc, hãy sử dụng Array_Values (): 0Ngoài ra, Array_Splice () tự động làm lại mảng để tránh để lại các lỗ: 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.
Đã 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:
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 2
Hàm 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 3
Hàm 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 4
Hàm 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 5
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): 6Toàn bộ mục đích của 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.
Đã 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: 7Để xóa 45, làm: 8Và bạn nhận được: 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
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 0Giải pháp #2 1Đối với dữ liệu mẫu này: 2Bạn phải có kết quả này: 3
Đã 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ảngMặc dù 0 đã được đề cập ở đây nhiều lần, nhưng vẫn chưa được đề cập rằng 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: 4unset () một cách linh hoạtUntet () 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). 5Thay vào đó, unset () có thể được sử dụng một cách động trong vòng lặp foreach: 6Xóa các phím mảng bằng cách sao chép mảngNgoà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. 7Rõ ràng, thực tiễn tương tự áp dụng cho các chuỗi văn bản: 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
9Đầu ra 0
Đã trả lời ngày 16 tháng 8 năm 2016 lúc 15:36Aug 16, 2016 at 15:36
1 Xóa phần tử mảng dựa trên khóa:Sử dụng chức năng 30 như dưới đây: 1Xóa phần tử mảng dựa trên giá trị:Sử dụng chức năng 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: 2
Đã 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ửaNế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: 3Câu trả lời ban đầuNế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: 4Example: 5Result: 6Lư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
Sam Tiglesam TigleSam Tigle 3533 Huy hiệu bạc12 Huy hiệu Đồng3 silver badges12 bronze badges 3 Sử dụng mã sau: 71 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. 8Results... 9Nế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. 0Vì 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. 1Results..... 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 3Bước hai Tạo một mảng có tên là động vật 4Bước thứ ba Xóa mục tại INDEX 1 là 'cho' 5Bước bốn In mảng sửa đổi 6Bước năm Chỉ nhóm lại các phần tử mảng 7Bước sáu In lại mảng được chỉ mục lại 8Bước bảy Đóng mã PHP 9Đã trả lời ngày 27 tháng 9 lúc 18:48Sep 27 at 18:48
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 .. |