首页 > 解决方案 > Laravel:如何计算特定的数组值

问题描述

我一直对会话数组部分感到不安......因为我的会话数组有3个来自数据库的不同值......容易......中等......很难......我如何具体计算这些?

   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'));

收到此错误消息:array_count_values():只能计算 STRING 和 INTEGER 值!`

标签: phplaravel

解决方案


这是您的解决方案:

$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

如果您还有任何疑问,请告诉我。


推荐阅读