Hướng dẫn
Quảng cáo

Cách tạo danh sách thả xuống với các giá trị mảng trong PHP

Chủ đề: PHP / MySQLBài trước|Bài tiếp

Trả lời: Sử dụng hàm array_filter()

Bạn có thể chỉ cần sử dụng hàm array_filter() để loại bỏ hoặc lọc các giá trị trống khỏi một mảng. Hàm này thường lọc các giá trị của một mảng bằng hàm gọi lại.

Tuy nhiên, nếu không có chức năng gọi lại được chỉ định, tất cả các mục trống của mảng sẽ bị xóa, chẳng hạn như ""(một chuỗi rỗng), 0(0 là một số nguyên), 0.0(0 như một số thực), "0"(0 như là một chuỗi), NULLFALSEvà array()( một mảng trống). Hãy thử một ví dụ để hiểu cách nó thực sự hoạt động:

Ví dụ

<?php
$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);
var_dump($array);
echo "<br>";
 
// Filtering the array
$result = array_filter($array);                 
var_dump($result);
?>

Trong ví dụ trên, các giá trị 0và "0"cũng được xóa khỏi mảng. Nếu bạn muốn giữ chúng, bạn có thể xác định một hàm gọi lại như được hiển thị trong ví dụ sau:

Ví dụ

<?php
$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);
var_dump($array);
echo "<br>";
 
// Defining a callback function
function myFilter($var){
    return ($var !== NULL && $var !== FALSE && $var !== "");
}

// Filtering the array
$result = array_filter($array, "myFilter");     
var_dump($result);
?>

Hàm gọi lại myFilter()được gọi cho mỗi phần tử của mảng. Nếu myFilter()trả về TRUE, thì phần tử đó sẽ được nối vào mảng kết quả, ngược lại thì không.


Câu hỏi liên quan

Dưới đây là một số câu hỏi thường gặp khác liên quan đến chủ đề này: