count (): параметр должен быть массивом или объектом, который реализует Countable в codeigniter - PullRequest
0 голосов
/ 04 июня 2018

Я хочу посчитать эту $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 голосов
/ 04 июня 2018

Функция 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 голосов
/ 04 июня 2018

Переменная типа массива должна использоваться для функции подсчета.

$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 голосов
/ 04 июня 2018

Вы устанавливаете переменную $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>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...