Remove Empty Items From an Array in PHP

- 1 minute read

The following snippet uses PHP’s built-in array_diff function to return a new copy of a given array without any empty string values:

$arr = array('red', 'blue', '', 'yellow');
$newArr = array_diff($arr, array(''));

After the above code has executed, $newArr will equal ['red', 'blue', 'yellow']. Notice how the empty string value is gone.

I want to note that array_diff should typically be used over array_filter, because array_filter removes any value that evaluates to false, not just empty strings.

So in the following example, values such as 0 also get removed:

// You probably don't want to do this!
$newArr = array_filter($arr);

Link to this section Conclusion

Anyway, array_diff can serve as a simple and handy way to clean up your PHP arrays.

I hope you found this article useful!