首页 >后端开发 >PHP问题 >php怎么判断数组是否有相同的元素

php怎么判断数组是否有相同的元素

青灯夜游
青灯夜游原创
2022-08-19 19:11:403204浏览

判断步骤:1、用array_unique()去除数组中的重复值,语法“array_unique(原数组)”,会返回一个去重数组;2、用count()分别获取原数组和去重数组的数组长度,并判断两个数组长度是否相等,语法“count(原数组)==count(去重数组)”,如果两个数组长度相等,则数组里没有相同元素,反之则数组里有相同的元素。

php怎么判断数组是否有相同的元素

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php判断数组是否有相同的元素,就是判断数组元素是否有重复值。

在php中,可以使用array_unique()和count()函数来进行判断。

判断步骤:

步骤1:使用array_unique()函数去除数组中的重复值

array_unique(array,sortingtype)
参数 描述
array 必需。规定数组。
sortingtype 可选。规定排序类型。可能的值:
  • SORT_STRING - 默认。把每一项作为字符串来处理。
  • SORT_REGULAR - 把每一项按常规顺序排列(Standard ASCII,不改变类型)。
  • SORT_NUMERIC - 把每一项作为数字来处理。
  • SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

返回值:返回过滤后的去重数组。    

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(3,4,2,3,6,4,7,2,8,9,1);
var_dump($arr);
$res=array_unique($arr);
echo "去重后的数组:";
var_dump($res);
?>

1.png

步骤2:使用count()函数获取原数组和去重数组的长度,并判断两个数组长度是否相等

count() 函数可以统计出数组里所有元素的数量,即获取数组长度。

  • 如果两个数组长度相等,则数组里没有重复值

  • 如果两个数组长度不相等,则表示有元素被去除了,即数组里有重复值。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$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 "两数组长度不相等,数组里有相同的元素";
}
?>

2.png

说明:

count() 函数可以统计出数组里所有元素的数量,或对象中的属性个数,其语法格式如下:

count($array , $mode )

参数说明如下:

  • $array:为待统计的数组或对象;
  • $mode:为可选参数,可以省略。
    • 如果省略 $mode 参数,或者将其设置为 COUNT_NORMAL 或者 0,count() 函数将不检测多维数组;
    • 如果 $mode 设置为 COUNT_RECURSIVE 或者 1,count() 函数将递归计算数组中元素的个数,对于计算多维数组的元素个数尤为有用。

提示:如果 $array 既不是数组,也不是对象,count() 函数将返回 1;如果 $array 等于 NULL,则 count() 函数返回 0。

sizeof() 函数是 count() 函数的别名,也就是所 sizeof() 函数的功能及使用方法与 count() 函数完全相同。

推荐学习:《PHP视频教程

以上是php怎么判断数组是否有相同的元素的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn