您好,很高兴为你作答。
问题是有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;
}
foreach($arr1 as $r ){
if($r['display']==0)
{
echo "有0";
}
i=$r['num'];
}
foreach($arr1 as $r ){
if($r['num']!=i)
{
echo "所有num不相等";
}
}