首页 > 解决方案 > 除了在数组计数值函数中指定之外,如何搜索字符串?

问题描述

我正在尝试使用 Chart.js 创建图表,但是,尝试从数组中计算值时出现问题。数组中有一个键,reference其值为Facebook, Google, Invitation, [Other than all that]

array_count_values(array_filter(array_column(($participants->toArray()), 'reference')))['Facebook'] ?? '0';
array_count_values(array_filter(array_column(($participants->toArray()), 'reference')))['Google'] ?? '0';
array_count_values(array_filter(array_column(($participants->toArray()), 'reference')))['Invitation'] ?? '0';
array_count_values(array_filter(array_column(($participants->toArray()), 'reference')))['Other'] ?? '0';

我想要寻找其他字符串的最后一行。Other 应该是除 Facebook、Google 和 Invitation 之外的字符串。但是,如果有任何其他更清洁/正确的方法也会有所帮助。谢谢!

标签: phplaravelfunctionmultidimensional-arraycount

解决方案


我认为这会更清洁,更有效:

$counts = array_count_values(array_filter(array_column(($participants->toArray()), 'reference')));
$facebook = $counts['Facebook'] ?? 0;
$google = $counts['Google'] ?? 0;
$invitation = $counts['Invitation'] ?? 0;
$others = array_sum($counts) - $facebook - $google - $invitation;

推荐阅读