Home >Backend Development >PHP Problem >Learn how to remove blank or duplicate elements from PHP arrays
In our previous article, we learned about the method of splitting a one-dimensional array and dividing the one-dimensional array into a two-dimensional array containing a specified number of elements. If you are interested, you can click on the link to read → "PHP Array Learning Convert a one-dimensional array into a two-dimensional array containing the specified number of elements》. This time we will study and practice PHP arrays and talk about how to remove emptiness and duplication in arrays.
→Related recommendations: 《PHP array learning series summary (continuously updated~)》
The main content of today’s article is to delete the array empty elements and repeated elements.
First let’s take a lookHow to delete empty elements in an array? Here I will introduce two methods.
Method 1, foreach loop empty() unset()
Implementation idea:
Use foreach statement To traverse the array $array, assign the key name to $key in each loop, and assign the key value to $value
foreach($array as $key => $value){ }
in the loop , use the empty() function to determine whether $value is empty. If it is empty, use unset() to delete the element
Below we give the complete implementation code:
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql"); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
Output result:
Description: In PHP, the empty() function is used to check whether a variable is considered empty.
empty() will consider the variable to be empty when it is equal to the following value:
""(empty string)
0 (0 as an integer)
0.0 (0 as a floating point number)
- ##“0 ”(0 as string)
- NULL
- FALSE
- Array()( An empty array)
- $var (one is declared, but there is no variable with value)
Method 2. Use The array_filter() function performs filtering
array_filter() function can use the callback function to filter elements in the array. This function iterates through each value in the array, passing them to a user-defined function or callback function.If the callback function is omitted, null values will be filtered by default. (array_filter() function will not change the original array)
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>Output result: It can be seen that array_filter() is filtering array elements , the index is not reset. After deleting empty elements, the original index order is still followed. So if you want to reset the index and reorder it from 0, what should you do? We can use the
array_values() function.
var_dump(array_values($filtered_array));Isn’t it very simple! We learned how to remove empty elements above, let's see
how to remove duplicate array elements.
There is no need to resort to other methods to delete duplicate arrays in PHP arrays. PHP has a built-in function to achieve this operation. Do you know what the function is? Okay, no more fuss, it’s thearray_unique() function. If there are two or more values in the array that are the same, the array_unique() function only retains the first value and the other values are removed.
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文网",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>Output result: array_unique() function will not reset the key name (index), and the retained array will remain the first array The key type of the item. Therefore, after using the array_unique() function to remove duplicate elements, you can use the array_values() function to reset the index.
var_dump(array_values($result));In fact, we can also use the feature that there are no duplicate key names in the array to remove duplicate array elements. Implementation idea: First exchange the key name and key value to remove duplicate values; then exchange the key name and key value back again (recommended reading "
PHP Array Learning: How to Change Key Names" The positions of key and value are interchanged》). Key code:
array_flip(array_flip($array))Okay, that’s all. If you want to know anything else, you can click this. → →Finally, I would like to recommend a free video tutorial on PHP arrays:
PHP function array array function video explanation, come and learn!
The above is the detailed content of Learn how to remove blank or duplicate elements from PHP arrays. For more information, please follow other related articles on the PHP Chinese website!