我想在此代码中计算此$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>';
}
但是我收到了这个错误:
遇到严重错误:警告
消息:count():参数必须是数组或对象 实现Countable
文件名:controllers / jadwal.php
行号:166
如何解决此错误?
答案 0 :(得分: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>';
}
答案 1 :(得分: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;
答案 2 :(得分: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>';
答案 3 :(得分:0)
尝试一下,此方法将替换所有其他方法。这是因为您使用的是新版本,应该返回一个数组。如果您使用的是CODEIGNITER,则只需更改代码即可,如下所述。
更改您的if (count($chkAdminExist)):
到if (count((array)$chkAdminExist)):
ps:$ chkAdminExist是我的变量,可能与您的变量不同