Đôi khi trong quá trình làm việc với PHP, cần xóa và lập chỉ mục lại một phần tử mảng. Ở đây, chúng tôi đã tập hợp các phương pháp hữu ích sẽ giúp đạt được điều đó
Kiến thức về CSS
Trong phần này, chúng ta sẽ tiến hành loại bỏ một phần tử mảng bằng hàm unset[] và sau đó lập chỉ mục lại nó bằng array_values[]
Hàm unset[] được sử dụng để hủy đặt một biến đã cho
Cú pháp như sau
unset[mixed $var, mixed ...$vars]: void
Hàm array_values[] nhằm mục đích trả về tất cả các giá trị từ mảng và lập chỉ mục bằng số cho mảng
Cú pháp như sau
array array_values [ array $array ]
Bây giờ, hãy xem hai hàm này hoạt động như thế nào
Đầu ra sẽ hiển thị như sau
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }
Có một giải pháp thay thế, quá. Nó đang sử dụng hàm array_splice[], được sử dụng để loại bỏ một phần của mảng và thay thế nó bằng bất kỳ thứ gì khác
Cú pháp của hàm này như sau
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
Để hiểu rõ hơn về cách chức năng này hoạt động, hãy xem ví dụ bên dưới
Đầu ra sẽ như sau
array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }
Mảng là một biến chứa tập hợp các giá trị khác, có sẵn trên các chỉ số cụ thể. Để truy cập giá trị của một mảng, chúng ta cần chỉ định tên của mảng và chỉ số của dữ liệu
Trong hướng dẫn này, bạn sẽ học hai phương thức PHP unset[] và array_search[] để loại bỏ các phần tử mảng cụ thể
Xóa các mục khỏi mảng của bạn theo giá trị, đây là một cách dễ dàng để xóa một phần tử cụ thể khỏi mảng PHP bằng khóa thay vì chỉ mục
Sử dụng hàm unset[]
Sử dụng hàm unset[] của PHP để xóa một phần tử khỏi một mảng. Hành vi của unset[] bên trong một hàm có thể khác nhau tùy thuộc vào loại biến mà bạn đang cố hủy
Sử dụng hàm array_search[]
Nếu mảng chỉ chứa một phần tử duy nhất với giá trị được chỉ định, bạn có thể sử dụng hàm array_search[] với hàm unset[] để xóa phần tử đó khỏi mảng
function my_remove_array_item[ $array, $item ] {
$index = array_search[$item, $array];
if [ $index !== false ] {
unset[ $array[$index] ];
}
return $array;
}
Cách sử dụng
$items = array[ 'first', 'second', 'third'];
$items = my_remove_array_item[ $items, 'second' ]; // remove item called 'second'
Điều này hoạt động bằng cách tìm kiếm mảng cho mục đã chỉ định, trả lại khóa của nó và sau đó bỏ đặt khóa đó
Cách tốt nhất để xóa cha mẹ của khóa khớp trong Mảng đa chiều là gì?
[array] Array
[
[0] => Array
[
[text] => a
[height] => 30
]
[1] => Array
[
[text] => k
[height] => 30
]
]
Giải pháp tốt nhất
Đây là điều hiển nhiên
________số 8Giải pháp liên quan
Php – Xóa phần tử khỏi 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ố cách hữu ích cho một số tác vụ cụ thể hơn những cách khác
Xóa một phần tử mảng
Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8 hoặc cách khác là foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
9Nếu bạn biết giá trị và không biết khóa để xóa phần tử, bạn có thể sử dụng
array array_values [ array $array ]
10 để lấy khóa. Điều này chỉ hoạt động nếu phần tử không xảy ra nhiều lần, vì array array_values [ array $array ]
11 chỉ trả về lần truy cập đầu tiênforeach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
Lưu ý rằng khi bạn sử dụng
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8, các khóa của mảng sẽ không thay đổi. Nếu bạn muốn lập chỉ mục lại các khóa, bạn có thể sử dụng array array_values [ array $array ]
14 sau foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8, điều này sẽ chuyển đổi tất cả các khóa thành các khóa được liệt kê bằng số bắt đầu từ 0Mã số
array array_values [ array $array ]
1đầu ra
array array_values [ array $array ]
8phương pháp foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
9
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
Nếu bạn sử dụng
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
9, các khóa sẽ tự động được lập chỉ mục lại, nhưng các khóa kết hợp sẽ không thay đổi — trái ngược với array array_values [ array $array ]
14, sẽ chuyển đổi tất cả các khóa thành khóa sốforeach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
9 cần phần bù, không phải khóa, làm tham số thứ haiMã số
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }3
đầu ra
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }4
array array_values [ array $array ]
80, giống như foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8, lấy mảng theo tham chiếu. Bạn không gán giá trị trả về của các hàm đó cho mảngXó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
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8 hoặc foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
9 nhiều lần thì có thể sử dụng hàm array array_values [ array $array ]
84 hoặc array array_values [ array $array ]
85 tùy thuộc vào việc bạn có biết giá trị hoặc khóa của phần tử muốn xóa hay không.phương pháp array array_values [ array $array ]
84
array array_values [ array $array ]
Nếu bạn biết giá trị của các phần tử mảng mà bạn muốn xóa, thì bạn có thể sử dụng
array array_values [ array $array ]
84. Như trước đây với foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8, nó sẽ không thay đổi các khóa của mảngMã số
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
4đầu ra
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
5phương pháp array array_values [ array $array ]
85
array array_values [ array $array ]
Nếu bạn biết khóa của các phần tử mà bạn muốn xóa, thì bạn muốn sử dụng
array array_values [ array $array ]
85. Bạn phải đảm bảo rằng bạn chuyển các khóa dưới dạng khóa trong tham số thứ hai chứ không phải dưới dạng giá trị. Khóa sẽ không lập chỉ mục lạiMã số
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
8đầu ra
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
5Nếu bạn muốn sử dụng
foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
8 hoặc foreach [$array as $key => $item] {
if [$item['text'] === 'a'] {
unset[$array[$key]];
}
}
9 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }33 để lấy tất cả các khóa cho một giá trị cụ thể rồi xóa tất cả phần tử
Java – Cách đơn giản nhất để in một mảng Java
Kể từ Java 5, bạn có thể sử dụng
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }34 hoặc
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }35 cho mảng trong mảng. Lưu ý rằng phiên bản
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }36 gọi
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }37 trên mỗi đối tượng trong mảng. Đầu ra thậm chí còn được trang trí theo cách chính xác mà bạn đang yêu cầu