PHP如何获取数组中是否存在某个值还有是否相同

2024-11-15 16:55:24
推荐回答(2个)
回答1:

您好,很高兴为你作答。

问题是有2个,按照规范化程序的设计原则,可以编写2个函数。由于这是一个二维数组,因为我们需要用到遍历和数组访问的知识。

针对第一个问题,判断所有的num值是否相同,也就是要一个结果:true or false。true代表是全部相同的,而false则反之。所以我们可以写出这样一个函数:

 /**
    *  检测数组的num值是否全部相等
    *@param $arr mixed 待检测的数组
    *@return bool true or false
    */
    function NumIsEqual($arr){
        $length = count($arr);
        $compare = 0;
        for ($i=0; $i < $length; $i++) { 
            if($compare == 0){
                $compare = $arr[$i]['Num'];
            }

            if($compare != $arr[$i]['num']){
                return false;
            }
        }
        return true;
    }

对于第二个问题,检测所有的display是否有0存在,同第一个问题一样,也是相同的处理方式,只不过判断逻辑稍有不同。大致如下:

 /**
    *  检测数组的display是否有0存在
    *@param $arr mixed 待检测的数组
    *@return bool true or false
    */
    function NumIsEqual($arr){
        $length = count($arr);      
        for ($i=0; $i < $length; $i++) { 

            if($arr[$i]['display'] == 0){
                return true;
            }
        }
        return false;
    }

回答2:

foreach($arr1 as $r ){
if($r['display']==0)
{
echo "有0";
}
i=$r['num'];

}
foreach($arr1 as $r ){
if($r['num']!=i)
{
echo "所有num不相等";
}

}