当前位置: 首页 > 知识库问答 >
问题:

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

万楷
2023-03-14

我想在此代码中计算此$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错误严重性:警告

Message:count():参数必须是数组或实现可计数的对象

文件名:controllers/jadwal.php

电话号码:166

如何解决这个错误?

共有3个答案

陆宝
2023-03-14

count函数用于数组或对象,$maxjam是整数。我使用的是PHP7.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;
鱼阳伯
2023-03-14

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

$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>';
}

佟阳焱
2023-03-14

试试这个,这个方法取代了所有其他方法。这是因为您正在使用新版本,您应该返回一个数组。如果您正在使用CODEIGNITER,那么只需更改代码,正如我在下面提到的

更改你的if(计数($chkAdminExist)):if(计数((数组)$chkAdminExist)):

ps:$chkAdminExist是我的变量,它可能与您的不同

 类似资料: