Tôi đã tìm kiếm rất nhiều câu trả lời, nhưng không ai trong số họ đang làm việc cho tôi.Làm thế nào để loại bỏ các giá trị rỗng từ mảng đa chiều trong PHP?
Đây là dữ liệu được gán cho mảng $quantities
tôi:
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
[12] => Array([35.00] =>)
[1] => Array([30.00] =>)
[2] => Array([30.00] =>)
)
Tôi đang tìm kiếm một cách để loại bỏ các subarrays với các giá trị rỗng như [12]
[1]
và [2]
trong khi vẫn giữ tất cả mọi thứ khác.
Kết quả mong muốn:
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
)
tôi đã cố gắng rất nhiều các chức năng trên các tài liệu php chính thức và không ai trong số họ làm việc.
Tôi đã sử dụng này một:
function array_filter_recursive($array, $callback = null) {
foreach ($array as $key => & $value) {
if (is_array($value)) {
$value = array_filter_recursive($value, $callback);
} else {
if (! is_null($callback)) {
if (! $callback($value)) {
unset($array[$key]);
}
} else {
if (! (bool) $value) {
unset($array[$key]);
}
}
}
}
unset($value);
return $array;
}
Nhưng nó chỉ loại bỏ các phần tử trong subarrays; Tôi cần các subarrays được loại bỏ hoàn toàn.
Tôi không muốn điều này:
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
[12] => Array()
[1] => Array()
[2] => Array()
)
Cân nhắc sử dụng var_dump() để hiển thị cho chúng tôi nội dung mảng. –
Đối với một trang được sử dụng làm đích đến cho nhiều liên kết song công, trang này có một số lượng lớn các câu trả lời không chính xác được upvoted. @ Richard-MX Tôi đã đăng câu trả lời không sử dụng đệ quy hoặc nhiều chức năng lặp lại để người đọc được quản lý ở đây có thể thấy giải pháp làm việc gọn gàng (không an toàn). (nó không rõ ràng trong bài viết của bạn nếu mảng trống của bạn có chuỗi rỗng hoặc 'null' làm giá trị, vì vậy tôi demo'ed với cả hai) – mickmackusa