私は抽出してシリアル化していないデータベースにシリアル化された配列を持っています。インデックスでグループ化されたシリアル化されていないアレイをカウントする
array (
526744 =>
array (
'completed' => 13,
'total' => 24,
'topics' =>
array (
),
'lessons' =>
array (
526745 => 1,
526747 => 1,
526749 => 1,
526751 => 0,
526753 => 0,
526755 => 0,
526757 => 0,
526759 => 0,
526761 => 1,
),
'last_id' => 526793,
)
最初の数字はコースIDです(実際にはここで最初に3つのコースがあります)。
私はいくつかの異なるユーザーのためにこれをデータベースから抜き出しました。
私はレッスンを数えようとしているので、各レッスンに合格したユーザーの数は分かります。これは、この出力
foreach($results as $result) {
$course_progress = unserialize($result->course_progress);
$lesson_progress = $course_progress[$course_id][lessons];
print_r(array_count_values($lesson_progress));
}
:
Array ([1] => 24)
Array ([1] => 11 [0] => 13)
Array ([1] => 13 [0] => 11)
Array ([1] => 24)
Array ([1] => 24)
Array ([1] => 24)
Array ([1] => 24)
Array ([1] => 23 [0] => 1)
Array ([1] => 24)
Array ([1] => 21 [0] => 3)
Array ([1] => 24)
Array ([1] => 24)
Array ([1] => 24)
Array ([1] => 24)
Array ([0] => 21 [1] => 3)
これは明らかに完全に間違っている
は、私は、次のコードを持っています。しかし、私はそれを働かせる方法を考えることができません。問題は、現在のコードで各ユーザーごとに別の配列がある可能性があると思いますか?
ご協力いただければ幸いです。
は、だから、ユーザーごとに渡された教訓を数えていますか?または、レッスンごとにユーザー数を渡したいですか? –
私はレッスンごとに渡されたユーザーの数を取得しようとしています。 – DanR
共有したオブジェクト(最初のコードスニペット)は、特定のユーザーのコースリストですか?または、コースごとの合計リスト? –