Bỏ đặt mảng đa chiều php

Có một số phương pháp để loại bỏ các phần tử khỏi mảng kết hợp trong PHP. Các phương thức này khác nhau về việc loại bỏ các phần tử ở các vị trí khác nhau trong một mảng. Trong bài viết này, chúng ta sẽ thấy các hàm khác nhau hữu ích để xóa phần tử khỏi mảng. Vì vậy, hãy chuyển thẳng đến bài viết mà không gặp bất kỳ rắc rối nào

Tùy chọn 1 – PHP Xóa phần tử khỏi mảng bằng cách sử dụng unset()

Hàm unset PHP lấy ít nhất một biến làm đối số và hủy đặt nó. Hàm này rất hữu ích để loại bỏ các phần tử khỏi một mảng trong PHP. Tất cả những gì bạn cần là chuyển nó vào hàm. Hãy xem nó làm như thế nào

$employees_array = array(
    "Employee#1" => "Bob",
    "Employee#2" => "Stacie",
    "Employee#3" => "Robert",
    "Employee#4" => "Anna",
    "Employee#5" => "Matthew",
    "Employee#6" => "John"
);
 
//unset removes the element.
unset($employees_array["Employee#4"]);
 
print_r($employees_array);
 
 
/*
OUTPUT
Array
(
    [Employee#1] => Bob    
    [Employee#2] => Stacie 
    [Employee#3] => Robert 
    [Employee#5] => Matthew
    [Employee#6] => John   
)
*/

Một điểm cộng của unset là nó cho phép xóa một phần tử ở bất kỳ vị trí nào. Hạn chế là nó sẽ không lập chỉ mục lại các phím số. Tuy nhiên, chúng tôi có các giá trị khóa theo nghĩa đen, vì vậy việc lập chỉ mục lại không phải là vấn đề đáng lo ngại ở đây

Tùy chọn 2 – Xóa phần tử khỏi mảng trong PHP bằng cách sử dụng array_pop()

Array_pop trong PHP xóa phần tử ở cuối mảng. Hàm này rất đơn giản và đối số duy nhất là chính mảng đó. Nó rút ngắn một mảng bằng một phần tử và trả về phần tử đã loại bỏ. Tuy nhiên, nếu mảng trống thì nó sẽ trả về null. Hãy sử dụng nó để xóa phần tử khỏi mảng kết hợp trong PHP

$employees_array = array(
    "Employee#1" => "Bob",
    "Employee#2" => "Stacie",
    "Employee#3" => "Robert",
    "Employee#4" => "Anna",
    "Employee#5" => "Matthew",
);
 
//array_pop will return the last element.
$employee = array_pop($employees_array);
 
print_r($employees_array);
 
 
/*
OUTPUT
Array
(
    [Employee#1] => Bob   
    [Employee#2] => Stacie
    [Employee#3] => Robert
    [Employee#4] => Anna  
)
*/

Vì vậy, chức năng làm những gì được mong đợi. Tiếp theo, chúng ta sẽ làm thế nào để loại bỏ một phần tử từ đầu của một mảng

Tùy chọn 3 – Xóa phần tử khỏi mảng liên kết PHP bằng cách sử dụng array_shift()

Array_shift PHP loại bỏ một phần tử từ đầu của một mảng. Tương tự như hàm array_pop, nó nhận một mảng làm đối số và trả về phần tử đã loại bỏ. Một điểm quan trọng liên quan đến các giá trị chính. Tất cả các phím số sẽ khởi động lại quá trình đếm từ 0 trong khi các phím chữ vẫn còn nguyên

Hãy sử dụng lại cùng một mảng như trong ví dụ trước

$employees_array = array(
    "Employee#1" => "Bob",
    "Employee#2" => "Stacie",
    "Employee#3" => "Robert",
    "Employee#4" => "Anna",
    "Employee#5" => "Matthew",
);
 
//array_pop will return the first element.
$employee = array_shift($employees_array);
 
print_r($employees_array);
 
 
/*
OUTPUT
   Array
(
    [Employee#2] => Stacie 
    [Employee#3] => Robert 
    [Employee#4] => Anna   
    [Employee#5] => Matthew
)
*/

Phần tử đầu tiên bị xóa và các khóa chữ ở đây không bị ảnh hưởng. Trong phần tiếp theo, chúng ta sẽ xem cách xóa phần tử khỏi mảng kết hợp trong PHP bằng cách sử dụng array_splice

Tùy chọn 4 – Xóa phần tử khỏi Mảng liên kết PHP bằng cách sử dụng array_splice()

PHP array_splice là thuốc chữa bách bệnh cho trường hợp sử dụng hiện tại. Đó là bởi vì chức năng này có thể xóa các phần tử khỏi một mảng từ bất kỳ vị trí nào. Tất cả những gì bạn cần là cắm đúng giá trị cho độ lệch và độ dài. Đó là những gì chúng ta sẽ thấy trong các ví dụ tiếp theo. Hãy xem chức năng này hoạt động

1. Xóa khỏi phần giữa của một mảng PHP bằng cách sử dụng array_splice()

Chúng tôi sẽ xem xét cùng một mảng từ ví dụ trước nhưng với sáu nhân viên cho ví dụ này. Giả sử chúng ta muốn loại bỏ “Employee3”ai ở giữa mảng. Sử dụng array_splice, giá trị bù bên phải sẽ là 2 vì chỉ số mảng bắt đầu từ 0. Độ dài rõ ràng sẽ là 1 vì chúng tôi chỉ xóa một phần tử

Hãy cùng xem qua ví dụ sử dụng offset là 2 và length là 1

$employees_array = array(
    "Employee#1" => "Bob",
    "Employee#2" => "Stacie",
    "Employee#3" => "Robert",
    "Employee#4" => "Anna",
    "Employee#5" => "Matthew",
    "Employee#6" => "John"
);
 
//array_splice modified the employee_array and returns the removed element.
$employee = array_splice($employees_array,2,1);
 
print_r($employees_array);
 
 
/*
OUTPUT
Array
(
    [Employee#1] => Bob    
    [Employee#2] => Stacie 
    [Employee#4] => Anna   
    [Employee#5] => Matthew
    [Employee#6] => John   
)
*/

Các chìa khóa được giữ nguyên ở đây nhưng có vẻ kỳ lạ vì “Employee3” vừa bị bỏ qua. Thật không may, không có gì chúng ta có thể làm về nó. Giải pháp duy nhất là sử dụng các phím số khi chúng được lập chỉ mục lại mỗi khi hàm sửa đổi mảng

2. Xóa khỏi phần cuối của một mảng bằng cách sử dụng array_splice()

Để xóa một phần tử ở cuối mảng, chúng ta sẽ chỉ định giá trị bù trừ -1. Phần bù -1 có nghĩa là phần tử cuối cùng của một mảng. Độ dài có thể được bỏ qua ở đây. Hãy xem nó hoạt động như thế nào

$employees_array = array(
    "Employee#1" => "Bob",
    "Employee#2" => "Stacie",
    "Employee#3" => "Robert",
    "Employee#4" => "Anna",
    "Employee#5" => "Matthew",
    "Employee#6" => "John"
);
 
//array_splice modified the employee_array and returns the removed element.
$employee = array_splice($employees_array,-1);
 
print_r($employees_array);
 
 
/*
OUTPUT
Array
(
    [Employee#1] => Bob
    [Employee#2] => Stacie
    [Employee#3] => Robert
    [Employee#4] => Anna
    [Employee#5] => Matthew
)
*/

3. Xóa khỏi phần đầu của một mảng bằng cách sử dụng array_splice()

Cuối cùng, chúng ta xem cách xóa từ đầu một mảng và chúng tôi hy vọng bạn sẽ không gặp khó khăn trong việc đoán đúng giá trị độ lệch và độ dài.  

$employees_array = array(
    "Employee#1" => "Bob",
    "Employee#2" => "Stacie",
    "Employee#3" => "Robert",
    "Employee#4" => "Anna",
    "Employee#5" => "Matthew",
    "Employee#6" => "John"
);
 
//array_splice modified the employee_array and returns the removed element.
$employee = array_splice($employees_array,0,1);
 
print_r($employees_array);
 
 
/*
OUTPUT
Array
(
    [Employee#2] => Stacie 
    [Employee#3] => Robert 
    [Employee#4] => Anna   
    [Employee#5] => Matthew
    [Employee#6] => John   
)
*/

Hoàn hảo. Array_splice là một hàm tiện dụng để xóa các phần tử khỏi một mảng kết hợp trong PHP

Xóa phần tử khỏi mảng kết hợp hoặc mảng đa chiều

Chúng ta đã thấy nhiều cách khác nhau để xóa phần tử khỏi mảng trong PHP. PHP array_splice linh hoạt hơn theo nghĩa là nó có thể xóa các phần tử khỏi bất kỳ vị trí nào và nó cũng có thể lập chỉ mục lại các khóa số. Các chức năng khác, như chúng ta đã thấy, chuyên biệt hơn. Bạn có thể gắn bó với một trong những bạn cảm thấy thoải mái với

Chúng tôi hy vọng rằng bạn thích bài viết này. Hãy theo dõi để biết thêm tại FuelingPHP

Các lớp và chức năng được đề cập

bỏ đặt – (PHP 4, PHP 5, PHP 7, PHP 8) Như tên cho thấy chức năng này bỏ đặt một biến. Nó được giới thiệu trong PHP 4 và vẫn ổn định trong PHP mới nhất

array_pop – (PHP 4, PHP 5, PHP 7, PHP 8) Hàm PHP cốt lõi để bật ra các phần tử từ cuối mảng. Nó đã có sẵn trong bản cài đặt PHP thứ tư đầu tiên và là một chức năng ổn định cho đến bây giờ

array_shift – (PHP 4, PHP 5, PHP 7, PHP 8) Hàm PHP tích hợp để dịch chuyển phần tử từ đầu mảng. Chức năng này đã có từ lần cài đặt PHP thứ tư đến thứ tám

array_splice – (PHP 4, PHP 5, PHP 7, PHP 8) Hàm này loại bỏ và thay thế một phần của mảng. Đây là một trong những hàm PHP trưởng thành nhất có sẵn ngay lập tức

Bạn muốn khám phá thêm về mảng PHP?

Chúng tôi có nhiều bài viết thú vị liên quan đến mảng PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về mảng trong PHP

Cách chia mảng kết hợp trong PHP

Cách chuyển đổi mảng kết hợp thành csv trong PHP

Thêm vào một mảng trong PHP

Bài viết liên quan

Bỏ đặt mảng đa chiều php
Làm thế nào để biết liệu một phần tử có tồn tại trong một mảng kết hợp PHP hay không
Bỏ đặt mảng đa chiều php
Mảng kết hợp hoặc bản đồ băm trong PHP là gì
Bỏ đặt mảng đa chiều php
Cách sắp xếp một . Tạo, Sắp xếp, Lọc, Hợp nhất, Tìm kiếm, v.v
Bỏ đặt mảng đa chiều php
Array of Objects in PHP | Create, Sort, Filter, Merge, Search, Etc


  • ← Làm thế nào để biết liệu một phần tử có trong mảng kết hợp hay không PHP
  • Cách chia mảng liên kết bằng mã PHP →

Viết mã tốt hơn nhanh hơn

Nhấp vào đây để nhận các bí mật hàng đầu 'Trở thành Rockstar PHP Dev trong 7 ngày' của chúng tôi được gửi đến hộp thư đến của bạn

đăng ký

Bỏ đặt mảng đa chiều php

Stephen Phép Lạ

Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích

Làm cách nào để xóa mảng khỏi mảng đa chiều trong PHP?

Sử dụng hàm unset() . Hàm unset() dùng để xóa phần tử khỏi mảng.

Làm cách nào để xóa khóa mảng đa chiều trong PHP?

Làm cách nào để xóa khóa và giá trị khỏi mảng đa chiều trong PHP?

Chúng ta có thể xóa một phần tử khỏi mảng bằng cách dùng lệnh unset . Lệnh bỏ đặt này lấy khóa mảng làm đầu vào và xóa phần tử đó khỏi mảng.

Làm cách nào để làm phẳng một mảng trong PHP?

Bằng cách sử dụng toán tử splat (. ), mọi phần tử của mảng hai chiều đều được chuyển thành đối số cho array_merge . Giải pháp là sử dụng array_values ​​trong những trường hợp đó. $twoDimensionalArray = [ 'x' => ['first', 'array'], 'y' => ['second', 'array'] ]; .