Topic: PHP / MySQLPrev|Next
Answer: Use the PHP array_filter()
function
You can simply use the PHP array_filter()
function to remove or filter empty values from an array. This function typically filters the values of an array using a callback function.
However, if no callback function is specified, all empty entries of array will be removed, such as ""
(an empty string), 0
(0 as an integer), 0.0
(0 as a float), "0"
(0 as a string), NULL
, FALSE
and array()
(an empty array). Let's try out an example to understand how it actually works:
Example
<?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);?>
In the above example the values 0
and "0"
are also removed from the array. If you want to keep them, you can define a callback function as shown in the following example:
Example
<?php$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);var_dump($array);echo "<br>"; // Defining a callback functionfunction myFilter($var){ return ($var !== NULL && $var !== FALSE && $var !== "");}// Filtering the array$result = array_filter($array, "myFilter"); var_dump($result);?>
The callback function myFilter()
is called for each element of the array. If myFilter()
returns TRUE
, then that element will be appended to the result array, otherwise not.
Related FAQ
Here are some more FAQ related to this topic: