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ấtNếu bạn muốn xóa chỉ một phần tử mảng, bạn có thể sử dụng 9 hoặc thay thế 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 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ì 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 }); 9Lưu ý rằng khi bạn sử dụng 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 5 sau 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ố:
Output:
Phương pháp [ [0] => a [1] => c ] 0Nếu bạn sử dụng 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 5, sẽ chuyển đổi tất cả các phím thành các khóa số. 0 cần phần bù, không phải là khóa, làm tham số thứ hai.Code:
Output:
01, giống như 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ảngNếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi 9 hoặc 0 nhiều lần, bạn có thể sử dụng các chức năng 05 hoặ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 ] 05Nế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 05. Như trước đây với 9, nó đã giành được thay đổi các phím của mảng.Code:
Output:
Phương pháp [ [0] => a [2] => c ] 06Nế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 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:
Output:
Nếu bạn muốn sử dụng 9 hoặc 0 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng 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 ] 15Nế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 15.Code:
Output:
16 Cần lưu ý rằng 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: 0Vì vậy, 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 19 sau 9: 1
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 2Đây là đầu ra từ mã trên: 3Bâ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 (): 4Đầu ra 5
Đã 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 6
Đã 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
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: 7Ví dụ: 8Điều này hiển thị như sau: 9Trong 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
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
5 Phá hủy một yếu tố duy nhất của một mảng
1Đầu ra sẽ là: 2Nếu bạn cần lập chỉ mục lại mảng: 3Sau đó, đầu ra sẽ là: 4Bậ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
5Đầu ra sẽ là 6Xó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
7Đầu ra sẽ là: 8
Đã trả lời ngày 19 tháng 7 năm 2015 lúc 15:37Jul 19, 2015 at 15:37
KtanjktanjKTAnj 1.33614 huy hiệu bạc35 huy hiệu đồng14 silver badges35 bronze badges 2 9Đầu ra: 0
Đã trả lời ngày 11 tháng 6 năm 2013 lúc 5:51Jun 11, 2013 at 5:51
5 Nếu chỉ mục được chỉ định: 1Nếu chúng ta có giá trị thay vì chỉ mục: 2Điều kiện 24 là cần thiết bởi vì nếu không tìm thấy 25, 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
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, 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. 3
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 ()): 4Output: 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 28: 28: 6Mảng sốĐối với các mảng số, sử dụng 29: 29: 7Ghi chúSử dụng 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: 28 for numeric arrays will not produce an error, but it will mess up your indexes: 8
Đã 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 43.3K22 Huy hiệu vàng197 Huy hiệu bạc165 Huy hiệu đồng22 gold badges197 silver badges165 bronze badges 9 phá hủy các biến được chỉ định.Hành vi của 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à 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 9 được gọi. 9Câu trả lời của mã trên sẽ là thanh.bar. Đến 9 một biến toàn cầu bên trong một hàm: 0
Đã trả lời ngày 26 tháng 7 năm 2013 lúc 20:11Jul 26, 2013 at 20:11
1Đã trả lời ngày 2 tháng 4 năm 2016 lúc 18:42Apr 2, 2016 at 18:42
GigolandgigolandGigoland 9819 Huy hiệu bạc10 Huy hiệu đồng9 silver badges10 bronze badges 1 Solutions:
2
3
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ử: 5Bê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 36 trong khi lần thứ hai nói 37Nế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: 6Tuy 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: 7Nế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ụ: 8Để nén mảng vào một mảng số dày đặc, hãy sử dụng Array_Values (): 9Ngoài ra, Array_Splice () tự động làm lại mảng để tránh để lại các lỗ: 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.
Đã 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:
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
Hàm 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 2
Hàm 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 3
Hàm 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 4
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): 5Toàn bộ mục đích của 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.
Đã 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: 6Để xóa 43, làm: 7Và bạn nhận được: 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
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 9Giải pháp #2 0Đối với dữ liệu mẫu này: 1Bạn phải có kết quả này: 2
Đã 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ảngMặc dù 9 đã được đề cập ở đây nhiều lần, nhưng vẫn chưa được đề cập rằng 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: 3unset () 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). 4Thay vào đó, unset () có thể được sử dụng một cách động trong vòng lặp foreach: 5Xó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. 6Rõ ràng, thực tiễn tương tự áp dụng cho các chuỗi văn bản: 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
8Tebetebe 9
3.1057 Huy hiệu vàng37 Huy hiệu bạc59 Huy hiệu ĐồngAug 16, 2016 at 15:36
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 0Giải pháp #2Đối với dữ liệu mẫu này: 1
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 đồngunset () nhiều phần tử bị phân mảnh từ một mảng 2Mặ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 3Example: 4Result: 5Untet () 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
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: 61 Đã trả lời ngày 7 tháng 12 năm 2017 lúc 6:28 Đầu ra 7Results... 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: 9Sử dụng chức năng 28 như dưới đây:Xóa phần tử mảng dựa trên giá trị: 0Results..... 1Sử dụng chức năng 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 2Chỉ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: 3Câ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: 4Lư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 5Sam Tiglesam Tigle 3433 Huy hiệu bạc12 Huy hiệu Đồng 6Sử 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. 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 (). 8Tô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
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 .. |