【发布时间】:2018-01-10 14:35:46
【问题描述】:
public function getdiagnosistally(){
$jsonData = ListBuilder::all()->pluck('listdata');
$res = $jsonData->contains('Test');
dd($jsonData,$res);
}
我想知道是否可以计算集合中以下数据的出现次数。
我尝试过使用下面的包含方法,但即使集合中有测试,它也不会给我一个真实的结果。
$res = $jsonData->contains('Test');
我也尝试过使用 count 方法,但它只给了我收集的总量,而不是 Test 的数量,它是 2,但结果给了我 6。
$res = $jsonData->count('Test');
我瞄准的最终结果就像它将从 json 数据中计算 Test 的出现次数。
例如:-
Test = 2
Test child 1 = 4
您能建议我如何解决它吗?
【问题讨论】:
-
这是一个字符串数组。如果不使用
json_decode,就无法检查实际数据。 Ofc 你可以通过stristr之类的操作来破解它,但这很愚蠢。 -
除了@Andrew 的评论:您有 5 次“测试”,而不是 2 次。所以即使您能够修复您的代码,您的结果对您来说似乎是“错误的”。
-
你有一个字符串数组。您只需要计算出现次数。正如安德鲁指出的那样。您必须解码 JSON。这与 laravel 无关,而是一个 PHP 问题。
-
感谢您的输入,将记录下来