Xóa mảng khỏi mảng đa chiều php

Đô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ố 8

Giả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]];
    }
}
9

Nế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ên

foreach [$array as $key => $item] {
    if [$item['text'] === 'a'] {
        unset[$array[$key]];
    }
}
8

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ừ 0

Mã số

array array_values [ array $array ]
1

đầu ra

array array_values [ array $array ]
8

phương pháp
foreach [$array as $key => $item] {
    if [$item['text'] === 'a'] {
        unset[$array[$key]];
    }
}
9

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ứ hai

Mã 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ảng

Xó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

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ảng

Mã 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
5

phương pháp
array array_values [ array $array ]
85

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ại

Mã 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
5

Nế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

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. Hàm unset được sử dụng để hủy bất kỳ biến nào khác và sử dụng tương tự để xóa bất kỳ phần tử nào của một mảng. 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 để xóa mảng trống khỏi mảng đa chiều trong PHP?

Có thể xóa các phần tử trống khỏi mảng bằng hàm array_filter[] trong PHP. Nhưng hàm array_filter[] sẽ không xóa các mảng con trống khỏi mảng nhiều chiều. Nếu bạn muốn loại bỏ các phần tử mảng trống theo cách đệ quy, cần sử dụng một hàm bổ sung với hàm array_filter[] trong PHP.

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

Lấy mảng và chỉ số. Tạo một ArrayList với các phần tử mảng. Xóa phần tử chỉ mục đã chỉ định bằng phương thức remove[] . Tạo một mảng mới của ArrayList bằng các phương thức mapToInt[] và toArray[].

Làm cách nào để xóa khóa 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 sử 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.

Chủ Đề