Php xóa mảng trống khỏi mảng đa chiều

Trong một số trường hợp, chúng tôi có thể muốn giữ "0" trong mảng và xóa bất kỳ thứ gì khác (null, không xác định và ""), đây là một cách

arr.filter(function(e){ return e === 0 || e });
Sao chép mã

đầu ra

["hello", 0, 1, 100, " "]
Sao chép mã

Ở đây chúng ta có thể làm điều này,

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
Sao chép mã

hoặc sử dụng dấu gạch dưới. tổ chức

Array.prototype.clean = function(deleteValue) {
  for (var we = 0; we < this.length; i++) {
    if (this[i] == deleteValue) {         
      this.splice(i, 1);
      i--;
    }
  }
  return this;
};

test = new Array("", "One", "Two", "", "Three", "", "Four").clean("");
test2 = [1, 2,, 3,, 3,,,,,, 4,, 4,, 5,, 6,,,,];
test2.clean(undefined);
0Sao chép mã

Nếu bạn đã có Javascript 1. 6 trở lên chúng ta có thể sử dụng Array. bộ lọc bằng cách sử dụng chức năng gọi lại

Array.prototype.clean = function(deleteValue) {
  for (var we = 0; we < this.length; i++) {
    if (this[i] == deleteValue) {         
      this.splice(i, 1);
      i--;
    }
  }
  return this;
};

test = new Array("", "One", "Two", "", "Three", "", "Four").clean("");
test2 = [1, 2,, 3,, 3,,,,,, 4,, 4,, 5,, 6,,,,];
test2.clean(undefined);
3 tầm thường, e. g

Cho một mảng chứa các phần tử. Nhiệm vụ là loại bỏ các phần tử rỗng ra khỏi mảng như chuỗi rỗng hay phần tử NULL

Phương pháp 1. Sử dụng hàm array_filter(). Nó đạt được bằng cách sử dụng hàm array_filter(). Nó cũng loại bỏ các giá trị sai khi được khai báo bằng hàm gọi lại, tuy nhiên, nếu không có hàm gọi lại nào được chỉ định, tất cả các giá trị của mảng bằng FALSE sẽ bị loại bỏ, chẳng hạn như chuỗi rỗng hoặc giá trị NULL

Ví dụ




[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
1

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
2

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
3

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
4
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
5
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
6
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
7
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
8
geeks
11
12
for
1997
geeks
0
geeks
11
12
for
1997
geeks
1
geeks
11
12
for
1997
geeks
2

geeks
11
12
for
1997
geeks
3______54____55
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
8
geeks
11
12
for
1997
geeks
7

geeks
11
12
for
1997
geeks
8

geeks
11
12
for
1997
geeks
9

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
10

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
11
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
5
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
13
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
7
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
4
geeks
11
12
for
1997
geeks
7

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
2

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
18

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
19
[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
11____57

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
22

đầu ra.

["hello", 0, 1, 100, " "]
6

Phương pháp 2. Sử dụng hàm unset(). Một cách tiếp cận khác là loại bỏ các phần tử trống khỏi mảng bằng cách sử dụng hàm empty() cùng với hàm unset(). Hàm empty() dùng để kiểm tra xem một phần tử có rỗng hay không

array_splice (mảng &$array, int $offset, int. null $length = null, hỗn hợp $replacement = []). mảng Xóa các phần tử được chỉ định bằng offset và độ dài khỏi mảng mảng và thay thế chúng bằng các phần tử của mảng thay thế, nếu được cung cấp

Với sự trợ giúp của array_map() và array_filter(), các phần tử mảng trống có thể được loại bỏ theo cách đệ quy  khỏi mảng nhiều chiều

array_map ( gọi được $callback , mảng $array1 [, mảng $… ] ).
array_map() trả về một mảng chứa kết quả của việc áp dụng hàm gọi lại cho chỉ mục tương ứng của mảng được sử dụng làm đối số cho hàm gọi lại.

mảng_filter ( mảng $array [, gọi được $callback [, int $flag = 0 ]] )

array_filter, lọc các phần tử của mảng bằng hàm gọi lại. Nếu không cung cấp lệnh gọi lại, tất cả các mục của mảng bằng FALSE sẽ bị xóa

Thông thường, một số phần tử trong một mảng có thể trống và cần phải loại bỏ chúng. Trong hướng dẫn ngắn này, chúng tôi sẽ cung cấp cho bạn chức năng phù hợp để làm điều đó

Cách phổ biến và chính xác nhất là sử dụng hàm array_filter. Nó sẽ xóa bất kỳ phần tử nào được đánh giá là FALSE (null, false, '', 0). Bằng cách thêm chức năng gọi lại, bạn có thể tùy chỉnh bộ lọc

Đây là cách Array_filter hoạt động

["hello", 0, 1, 100, " "]
7

Kết quả

["hello", 0, 1, 100, " "]
8

Trong ví dụ trên, giá trị của $array là giá trị được minh họa bên dưới nó trong ngoặc

Điều đó hoạt động đúng nhưng có thể để lại các khoảng trống chỉ mục bên trong một mảng. May mắn thay, bạn có thể sửa nó với sự trợ giúp của array_values ​​để lập chỉ mục lại mảng như thế này

["hello", 0, 1, 100, " "]
7

Kết quả

[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
0

Trong ví dụ này, giá trị của $array là những gì được thể hiện bên dưới nó trong ngoặc đơn

Mô tả hàm array_filter

Hàm này có khả năng lặp qua mọi giá trị trong mảng và chuyển chúng cho hàm gọi lại

Khi hàm gọi lại trả về True, giá trị hiện tại từ mảng sẽ trở lại mảng kết quả

Hàm array_filter có các tham số sau. mảng, gọi lại và gắn cờ

Cái đầu tiên là mảng để lặp lại. Callback là chức năng gọi lại để áp dụng. Và, cờ chỉ định đối số nào được chuyển tiếp đến cuộc gọi lại

Làm cách nào để xóa một mảng khỏi mảng nhiều 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 mảng trống khỏi mảng đa chiều trong JavaScript?

Với sự trợ giúp của array_map() và array_filter() , các phần tử mảng trống có thể được loại bỏ theo cách đệ quy khỏi mảng nhiều chiều.

Làm cách nào để xóa giá trị mảng trống trong PHP?

Phương pháp 1. Sử dụng hàm array_filter() . Nó đạt được bằng cách sử dụng hàm array_filter(). Nó cũng loại bỏ các giá trị sai khi được khai báo bằng hàm gọi lại, tuy nhiên, nếu không có hàm gọi lại nào được chỉ định, tất cả các giá trị của mảng bằng FALSE sẽ bị loại bỏ, chẳng hạn như chuỗi rỗng hoặc giá trị NULL.