首页 文章

count():参数必须是在codeigniter中实现Countable的数组或对象

提问于
浏览
1

我想在这段代码中计算这个 $maxjam 变量

$my_array = array(1,2,3,4,5,6);
shuffle($my_array);

foreach ($my_array as $key => $value) {
$hari = $my_array[$key];
if($hari == 5){

    $maxjam = 6;
}elseif ($hari == 6){

    $maxjam = 8;

}else{  

    $maxjam = 7;

}

$jumlahjam = count($maxjam);
print_r($jumlahjam);
echo'<br>';
}

但我得到这个错误:

遇到PHP错误严重性:警告消息:count():参数必须是实现可计数文件名的数组或对象:controllers / jadwal.php行号:166

如何解决这个错误?

3 回答

  • 0

    count函数用于数组或对象,$ maxjam是整数 . 我正在使用php 7.1并且在你的代码中运行良好 . 但一切都是1.我想你想要它

    $maxjam = 0;
    foreach ($my_array as $key => $value) {
        $hari = $my_array[$key];
        if($hari == 5){    
            $maxjam+= 6;
        }elseif ($hari == 6){    
            $maxjam+= 8;    
        }else{      
            $maxjam+= 7;    
        }
    }
    echo $maxjam;
    
  • 0

    数组类型变量应该用于计数功能 .

    $my_array = array(1,2,3,4,5,6);
    shuffle($my_array);$maxjam=array();
    foreach ($my_array as $key => $value){
        $hari = $my_array[$key];
        if($hari == 5){  
        array_push($maxjam,6);
        }elseif ($hari == 6){a
        rray_push($maxjam,8);
        }else{ 
        array_push($maxjam,7);
        }
    }
    $jumlahjam = count($maxjam);
    print_r($jumlahjam);
    echo'<br>';
    
  • 0

    您将 $maxjam 变量设置为整数,因此 count 函数失败 . 如果要创建新数组并在每次迭代时追加新元素,请使用 $maxjam[] = <value> .

    $my_array = [1,2,3,4,5,6];
    shuffle($my_array);
    $maxjam = [];
    
    foreach ($my_array as $hari) {
        if($hari == 5) {
            $maxjam[] = 6;
        } elseif ($hari == 6) {
            $maxjam[] = 8;
        } else {  
            $maxjam[] = 7;
        }
    
        $jumlahjam = count($maxjam);
        print_r($jumlahjam);
        echo'<br>';
    }
    

相关问题