我有一個提交模型並使用查詢,我得到了所有提交的列表。然後,爲了進入每個提交,我使用的是循環計算對象內元素的數量
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() –