![](/img/trans.png)
[英]Message: count(): Parameter must be an array or an object that implements Countable codeigniter on centos
[英]count(): Parameter must be an array or an object that implements Countable in codeigniter
我想在这段代码中计算这个$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():参数必须是实现 Countable 的数组或对象
文件名:控制器/jadwal.php
行号:166
如何解决这个错误?
试试这个,这个方法取代了所有其他方法。这是因为你使用的是新版本,你应该返回一个数组。如果你正在使用 CODEIGNITER,那么只需更改我在下面提到的代码
更改您的if (count($chkAdminExist)):
if (count((array)$chkAdminExist)):
ps:$chkAdminExist 是我的变量,这可能与你的不同
您将$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>';
}
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;
数组类型变量应该用于计数函数。
$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>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.