Home >Backend Development >PHP Problem >How to determine if the elements in a php array are not repeated
Judgment steps: 1. Use array_unique() to remove duplicate values in the array. The syntax "array_unique (original array)" will return a deduplicated array; 2. Use count() to obtain the original array and the deduplicated array respectively. Repeat the array length of the array, the syntax is "count(array)"; 3. Determine whether the lengths of the two arrays are equal, "length 1 == length 2", if the lengths of the two arrays are equal, the elements in the array are not repeated, otherwise the arrays The inner elements are repeated.
The operating environment of this tutorial: windows7 system, PHP8 version, DELL G3 computer
The idea of judging whether the elements in the array are repeated:
First remove duplicate values in the array and obtain the deduplicated array
Then obtain the original array and the deduplicated array Length
Finally determine whether the lengths of the two arrays are equal
In PHP, you can use the array_unique(), count() functions and "= =" operator to achieve.
Judgment steps:
Step 1: Use the array_unique() function to remove duplicate values in the array
<?php header('content-type:text/html;charset=utf-8'); $arr=array(3,4,2,3,6,4,7,2,8,9,1); var_dump($arr); $res=array_unique($arr); echo "去重后的数组:"; var_dump($res); ?>
Step 2: Use the count() function to obtain the length of the original array and the deduplicated array
<?php header('content-type:text/html;charset=utf-8'); $arr=array(3,4,2,3,6,4,7,2,8,9,1); var_dump($arr); $res=array_unique($arr); echo "去重后的数组:"; var_dump($res); $len1=count($arr); $len2=count($res); echo "原数组的长度为: $len1 <br>"; echo "去重数组的长度为: $len2 <br><br>"; ?>
Step 3: Use the "==" operator to determine whether the lengths of the two arrays are equal
If If the lengths of the two arrays are equal, there are no duplicate values in the arrays
If the lengths of the two arrays are not equal, it means that elements have been removed, that is, there are duplicate values in the arrays.
<?php header('content-type:text/html;charset=utf-8'); $arr=array(3,4,2,3,6,4,7,2,8,9,1); var_dump($arr); $res=array_unique($arr); echo "去重后的数组:"; var_dump($res); $len1=count($arr); $len2=count($res); echo "原数组的长度为: $len1 <br>"; echo "去重数组的长度为: $len2 <br><br>"; if($len1==$len2){ echo "两数组长度相等,数组里有没有相同的元素"; }else{ echo "两数组长度不相等,数组里有相同的元素"; } ?>
Description:
array_unique() function
array_unique() function is used to remove duplicate values from an array. If two or more array values are the same, only the first value is retained and the other values are removed.
The syntax format is as follows:
array array_unique ( array array )
array_unique() accepts array as input and returns a new array without duplicate values
Note that the key names remain unchanged. array_unique() sorts the values first as strings, then retains only the first encountered key for each value, and then ignores all subsequent keys. This does not mean that the first occurrence of the same value in an unsorted array will be preserved.
Note: Two units are considered the same if and only if (string) $elem1 === (string) $elem2
. That is, when the expressions of the strings are the same. The first unit will be retained.
count() function
count() function can count the number of all elements in an array, or the number of attributes in an object. Its syntax format is as follows:
count($array , $mode )
The parameter description is as follows:
Tip: If $array is neither an array nor an object, the count() function will return 1; if $array is equal to NULL, the count() function Return 0.
sizeof() function is an alias of count() function, that is, the function and usage of sizeof() function are exactly the same as count() function.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to determine if the elements in a php array are not repeated. For more information, please follow other related articles on the PHP Chinese website!