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