Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据laravel中的json值计算分数?_Json_Laravel - Fatal编程技术网

如何根据laravel中的json值计算分数?

如何根据laravel中的json值计算分数?,json,laravel,Json,Laravel,我保存时有这个JSON数据。我在这个JSON中总共有43个数据 "{"question":["1","1","1","1","1","1","1","2","2","3","3","2","2","1

我保存时有这个JSON数据。我在这个JSON中总共有43个数据

"{"question":["1","1","1","1","1","1","1","2","2","3","3","2","2","1","3","2","1","2","3","1","2","3","3","3","2","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3"]}
然后,我尝试使用这个计算来计算这个JSON数据的分数。但它没有计算它,因为我没有得到JSON数据值。我尝试了dd($survey_score),它总共只有100,因为它只假设所有值都是“1”


所以我的问题是如何在我的Laravel控制器中计算这个JSON值?谢谢大家!

您可以将数据转换为收集

$a = '{"question":["1","1","1","1","1","1","1","2","2","3","3","2","2","1","3","2","1","2","3","1","2","3","3","3","2","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3"]}';

$arr = json_decode($a, true);

echo array_sum($arr['question']);

Output: 83
 $scores = '{"question":["1","1","1","1","1","1","1","2","2","3","3","2","2","1","3","2","1","2","3","1","2","3","3","3","2","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3"]}';
$arr = json_decode($scores, true);
$result = collect($arr['question'])->sum();

Output: 83


试试这个,它会起作用的:

$a = '{"question":["1","1","1","1","1","1","1","2","2","3","3","2","2","1","3","2","1","2","3","1","2","3","3","3","2","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3"]}';

$a = json_decode($a, true);

$sum = 0;
foreach($a['question'] as $key => $value){
     $sum += $value;
}

echo $sum; // 83

以上代码已经过测试,谢谢您的帮助!我尝试你的代码,它的工作!
$a = '{"question":["1","1","1","1","1","1","1","2","2","3","3","2","2","1","3","2","1","2","3","1","2","3","3","3","2","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3"]}';

$a = json_decode($a, true);

$sum = 0;
foreach($a['question'] as $key => $value){
     $sum += $value;
}

echo $sum; // 83