php怎么判断数组中元素是否都相同
判断方法:1、去除数组中的重复值,语法“$newArr=array_unique($arr);”;2、获取去重后数组的长度,如果数组长度为1,则原数组中的元素都相同,语法“if(count($newArr)==1){//都相同时的操作}”。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在php中,可以利用array_unique()和count()函数来判断数组中元素是否都相同。
实现思想:
-
利用array_unique()去除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。
-
利用count()获取去重后数组的长度
-
如果数组长度为1,则表示原数组中只有一种元素,即原数组中元素都相同
-
如果数组长度不为1,则表示原数组中不是都相同
-
实现方法:
1、利用array_unique()去除数组中重复的值
<?php $arr1 = array(1,1,1,1,1,1,1); var_dump(array_unique($arr1)); $arr2 = array(1,2,1,3,1,1,1); var_dump(array_unique($arr2)); ?>
2、利用count()判断去重后数组的长度,判断数组长度是否为1
<?php header('content-type:text/html;charset=utf-8'); $arr = array(1,1,1,1,1,1,1); $newArr=array_unique($arr); if(count($newArr)==1){ echo "数组中元素都相同"; }else{ echo "数组中元素不是都相同"; } ?>
扩展:改良代码,封装为一个功能函数:
<?php header('content-type:text/html;charset=utf-8'); function f($arr){ $newArr=array_unique($arr); if(count($newArr)==1){ echo "数组中元素都相同<br>"; }else{ echo "数组中元素不是都相同<br>"; } } $arr1 = array(1,1,1,1,1,1,1); $arr2 = array(1,2,1,3,1,1,1); f($arr1); f($arr2) ?>
推荐学习:《PHP视频教程》