Home  >  Article  >  Backend Development  >  Learn how to remove blank or duplicate elements from PHP arrays

Learn how to remove blank or duplicate elements from PHP arrays

青灯夜游
青灯夜游Original
2021-08-26 15:16:493269browse

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, &#39;&#39;, 12, "PHP中文网", &#39;&#39;,2021,"mysql"); 
var_dump($array);       
 
// 使用array_filter()函数从数组中移除空元素
$filtered_array = array_filter($array); 
echo "删除空元素后的数组";
var_dump($filtered_array); 
?>

Output result:

Learn how to remove blank or duplicate elements from PHP arrays

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, &#39;&#39;, 12, "PHP中文网", &#39;&#39;,2021,"mysql",""); 
var_dump($array);       
 
// 使用array_filter()函数从数组中移除空元素
$filtered_array = array_filter($array); 
echo "删除空元素后的数组";
var_dump($filtered_array); 
?>

Output result:

Learn how to remove blank or duplicate elements from PHP arrays

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));

Learn how to remove blank or duplicate elements from PHP arrays

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 the

array_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, &#39;&#39;, 11, "PHP中文网",&#39;&#39;,"green",2021,"mysql","","green"); 
var_dump($array);       
 
$result = array_unique($array);
echo "删除重复元素后的数组";
//var_dump(array_values($filtered_array)); 
var_dump($result);
?>

Output result:

Learn how to remove blank or duplicate elements from PHP arrays

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));

Learn how to remove blank or duplicate elements from PHP arrays

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. → →

php video tutorial

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn