I have been trubling with session array part...as my session array have 3 different value coming from database ...easy ...medium ...hard....how i count these specificly?
Session::push('getscoresession',$getscore);
Session::push('level',$level);
$getsession = [ 'qid' => $getidvalue, 'answer' => $getanswervalue];
Session::push('answer', $getsession);
$score = array_count_values(Session::get("level"));
return view('score',compact('score'));
getting this error message: array_count_values(): Can only count STRING and INTEGER values!`
答案 0 :(得分:0)
以下是您的解决方案:
$array = [
0 => 'easy',
1 => 'easy',
2 => 'easy',
3 => 'medium',
4 => 'medium',
5 => 'medium',
6 => 'hard',
7 => 'hard',
8 => 'hard',
9 => 'hard',
10 => 'hard'
];
echo "<pre>";
print_r($array);
var_dump(array_count_values($array));
另一种解决方案:
// This is static
$stats = [
'easy' => 0,
'medium' => 0,
'hard' => 0,
];
// Alternatively dynamic way:
$a = array_flip(array_unique($array));
$b = array_fill_keys(array_keys($a), 0);
foreach($array as $value) {
$stats[$value]++; // Static Way
$b[$value]++; // Dynamic way
}
echo "<pre>";
print_r($stats);
print_r($b);
exit;
您可以使用http://www.writephponline.com/执行上述代码。
在你的blad文件中:
使用foreach
@foreach($data as $key => $value)
{{ $key .'-'. $value }}
@endforeach
如果您还有任何疑问,请与我们联系。
答案 1 :(得分:-1)
可能是因为您的数组中可能包含null
个值。
可能的解决方案:
null
值。array_filter
。