Nếu bạn xem kỹ ví dụ trên, bạn sẽ thấy rằng hàm
array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
5 không lập chỉ mục lại mảng sau khi xóa giá trị khỏi mảng số [dòng số 8]. Để khắc phục bạn có thể sử dụng hàm array_splice [ array &$input , int $offset [, int $length = count[$input] [, mixed $replacement = array[] ]] ] : array
6. Phải mất ba tham số. một mảng, độ lệch [bắt đầu từ đâu] và độ dài [số phần tử cần xóa]. Hãy xem nó thực sự hoạt động như thế nào Đô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ỉ mục 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
Một trong những tác vụ phổ biến nhất trong PHP là xóa phần tử khỏi mảng. Hướng dẫn ngắn này sẽ giải thích chi tiết cho bạn cách thực hiện
Thông thường, chức năng unset[] được sử dụng cho mục đích đó
Đây là một ví dụ rõ ràng, chỉ ra cách xóa một phần tử khỏi một mảng
Tuy nhiên, sau khi quan sát kỹ ví dụ này, bạn có thể nhận thấy rằng mảng không được lập chỉ mục lại bởi hàm sau khi loại bỏ giá trị khỏi mảng số. Để giải quyết vấn đề đó, bạn có thể áp dụng hàm array_splice[]. Nó bao gồm ba tham số sau. một mảng, độ lệch và độ dài. Nó hoạt động như thế này
Unset[] được coi là một hàm biến được xác định trước trong PHP để hủy đặt một biến nhất định. Nói cách khác, chức năng này được sử dụng để hủy các biến. Hành vi của nó thay đổi trong chức năng do người dùng xác định. Trong trường hợp một biến toàn cục không được đặt trong một hàm, thì việc không đặt sẽ hủy nó cục bộ, ban đầu để lại cùng một giá trị được cung cấp cho bên ngoài
❮ Tham chiếu xử lý biến PHP
Thí dụ
Bỏ đặt biến
$a = "Xin chào thế giới. ";
echo "Giá trị của biến 'a' trước đó không được đặt. ". $a. "
";
unset[$a];
echo "Giá trị của biến 'a' sau khi không đặt. ". $a;
?>
Định nghĩa và cách sử dụng
Hàm unset[] hủy đặt một biến
cú pháp
Giá trị tham số
Tham sốMô tảbiếnBắt buộc. Chỉ định biến để bỏ đặt. Không bắt buộc. Một biến khác để bỏ đặtchi tiết kỹ thuật
Giá trị trả về. Không có Loại trả lại. Không cóPhiên bản PHP. 4. 0+❮ Tham chiếu xử lý biến PHPCó 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
[
[0] => a
[2] => c
]
0 hoặc cách khác là [
[0] => a
[2] => c
]
1Nế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
[
[0] => a
[2] => c
]
2 để 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ì [
[0] => a
[2] => c
]
3 chỉ trả về lần truy cập đầu tiênLưu ý rằng khi bạn sử dụng
[
[0] => a
[2] => c
]
0, 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 [
[0] => a
[2] => c
]
5 sau [
[0] => a
[2] => c
]
0, đ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 ]
2đầu ra
[
[0] => a
[2] => c
]
Nếu bạn sử dụng
[
[0] => a
[2] => c
]
1, 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 [
[0] => a
[2] => c
]
5, sẽ chuyển đổi tất cả các khóa thành khóa số[
[0] => a
[2] => c
]
1 cần phần bù, không phải khóa, làm tham số thứ haiMã số
array array_values [ array $array ]
7đầu ra
array array_values [ array $array ]
8array array_values [ array $array ]
70, giống như [
[0] => a
[2] => c
]
0, 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 hàm
[
[0] => a
[2] => c
]
0 hoặc [
[0] => a
[2] => c
]
1 nhiều lần thì có thể sử dụng hàm array array_values [ array $array ]
74 hoặc array array_values [ array $array ]
75 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.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 ]
74. Như trước đây với [
[0] => a
[2] => c
]
0, nó sẽ không thay đổi các khóa của mảngMã số
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }7
đầu ra
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }8
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 ]
75. 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
0đầu ra
array[2] { [0]=> string[5] "w3docs" [2]=> string[5] "w3docs" } array[2] { [0]=> string[5] "w3docs" [1]=> string[5] "w3docs" }8
Nếu bạn muốn sử dụng
[
[0] => a
[2] => c
]
0 hoặc [
[0] => a
[2] => c
]
1 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng array array_values [ array $array ]
81 để 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ử