$v){...}" method to remove null values from the array; 2. Use the while syntax structure to remove null values; 3. Use The array_filter function filters the array and removes null values."/> $v){...}" method to remove null values from the array; 2. Use the while syntax structure to remove null values; 3. Use The array_filter function filters the array and removes null values.">
Home >Backend Development >PHP Problem >How to remove null from php array
How to remove null from php array: 1. Use the "foreach( $arr as $k=>$v){...}" method to remove the null value of the array; 2. Use the while syntax structure Remove null values; 3. Use the array_filter function to filter the array and remove null values.
The operating environment of this tutorial: Windows 10 system, PHP version 8.1, DELL G3 computer
How to remove null from an array in php?
Introduction to the method of deleting null values in an array in PHP
I am ashamed to say that in the past, when removing null values from an array, I always used foreach or while. Use these two grammatical structures to delete empty elements in the array. The simple code is as follows:
The code is as follows:
<?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?>
And I feel pretty good about myself, but this is not very efficient. I have tried it, first convert $arr to an object, and then use the characteristics of the object to delete it, because: foreach copies the array of the current operation. Every time foreach is operated, a variable is copied. If there are too many in the page, foreach will be a big consumption.
When I was wandering around on the Internet, I was surprised to see people suggesting using array_filter. I opened the manual and took a look, and found that I had been guarding a treasure mountain but didn't know how to use it.
The function of the array_filter function is to use the callback function to filter the array. I always thought that the callback function can be used to process it, but I didn’t find that there is another sentence in the manual. If there is no callback function, the default is to delete the value in the array. Items that are false.
The code is as follows:
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
The output value is:
The code is as follows:
Array ( [0] => foo [2] => -1 )
It seems that I still need to read more manuals in the future...just like array_slice is also a good thing. Too bad I never noticed it before.
Attachment: Another example
The code is as follows:
$strDelCodes = "A;B;;C;;C;D;;;D;D"; $rsArray = array_values (array_unique (array_diff (split (";", $strDelCodes), array (""))));
The values stored in the array $rsArray are: A B C D
array_values() function returns an array containing An array of all key values in the given array, but without retaining key names.
array_diff() function returns the difference array of two arrays. This array contains all keys that are in the array being compared, but are not in any of the other parameter arrays.
array_unique() function removes duplicate values from an array and returns the resulting array. When the values of several array elements are equal, only the first element is retained and the other elements are deleted.
The key names in the returned array remain unchanged.
array_merge() function merges two or more arrays into one array.
If the key name is repeated, the key value of the key will be the value corresponding to the last key name (the later one will overwrite the previous one). If the array is numerically indexed, the key names are re-indexed consecutively.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to remove null from php array. For more information, please follow other related articles on the PHP Chinese website!