我有一个提交模型并使用查询,我得到了所有提交的列表。然后,为了进入每个提交,我使用的是循环计算对象内元素的数量
foreach ($submissions as $submission) {
}
每个提交具有以下元素
[original:protected] => Array
(
[id] => 1
[sessionKey] => dfshduifhsduifhsdiu
[number] => 9
[isCompleted] => 0
[created_at] => 2017-07-29 23:14:02
[updated_at] => 2017-07-30 00:04:00
)
我所试图做的是生产出输出所有的一些细节的数组意见书。我需要的第一件事是提交的总数。接下来我需要完整的数(isComplete = 1)和不完整的(isComplete = 0)记录。为了实现这一点,我做
function submissionSummary($submissions) {
$reportArray = array();
$totalCount = 0;
$incompleteCount = 0;
$completeCount = 0;
foreach ($submissions as $submission) {
$totalCount += count($submission);
$reportArray["total"] = $totalCount;
if($submission['isCompleted'] === "0") {
$incompleteCount += count($submission);
$reportArray["incomplete_count"] = $incompleteCount;
} elseif ($submission['isCompleted'] === "1") {
$completeCount += count($submission);
$reportArray["complete_count"] = $completeCount;
}
}
return $reportArray;
}
我不知道是否有这样做的更effecient方式?
现在我挣扎的部分是数字元素。这个数字可以是1到9之间的任何数字。我想要做的是计算每个数字的数量。所以我想看看有多少个意见书有一个数字元素1,多少个有2个等等。我能想到的唯一方法就是通过很多if语句,如果可能的话,我想避免。
任何关于如何构建这个正确的赞赏的建议。
感谢
是否提交的数据来自一个SQL语句或从其他来源? – Spingolini
它来自Elequent查询使用 - > get() –