aufgetreten ich diese Array Datenstruktur:PHP zählen, wie oft pro Woche bestimmte Operation
$records = [];
$records[] = ['id' => 1, 'date' => '2017-03-12', 'operation' => 'sent_email'];
$records[] = ['id' => 1, 'date' => '2017-03-13', 'operation' => 'sent_email'];
$records[] = ['id' => 1, 'date' => '2017-03-13', 'operation' => 'sent_email'];
$records[] = ['id' => 1, 'date' => '2017-03-14', 'operation' => 'forgot_password'];
$records[] = ['id' => 1, 'date' => '2017-03-14', 'operation' => 'sent_email'];
$records[] = ['id' => 2, 'date' => '2017-03-14', 'operation' => 'sent_email'];
$records[] = ['id' => 2, 'date' => '2017-03-14', 'operation' => 'forgot_password'];
$records[] = ['id' => 1, 'date' => '2017-03-27', 'operation' => 'sent_email'];
$records[] = ['id' => 1, 'date' => '2017-03-29', 'operation' => 'sent_email'];
In diesem Array I Operationen speichern, die von Website-Besuchern durchgeführt wurde. Offensichtlich kann Besucher durch eine ID-Nummer identifiziert werden.
Was ich tun möchte, ist zu zählen, wie oft in einer Woche (zwischen Montag und Sonntag einschließlich) jeder Besucher 'send_email' Operation verwendet.
Zum Beispiel: erste Aufzeichnung mit 'send_email' Operation zeigt, dass diese Operation in '2017-03-12' (Sonntag) passiert ist, was bedeutet, dass diese Operation nur einmal in dieser Woche für Benutzer mit einer ID = 1 stattfand .
Andere drei 'sent_email' Operationen für Benutzer mit einer ID = 1 sind in einer anderen Woche dreimal aufgetreten. (2017-03-13, 2017-03-13, 2017-03-14 diese drei Termine gehören zur selben Woche).
Ich weiß, dass ich wahrscheinlich jeden Datensatz durchlaufen muss und irgendwie diese Daten überprüfen muss, wenn sie derselben Woche gehören, aber ich fühle mich verwirrt und stecke hier, ich verstehe logische Schritte nicht, um es zu erreichen. Ich wäre wirklich dankbar, wenn mir jemand eine Erklärung oder einen Pseudocode geben könnte, was immer mir helfen würde, dieses Problem anzugehen, ich genieße es wirklich, Probleme selbst zu lösen, aber weil ich feststecke, brauche ich nur jemanden, um mich hochzubringen Laufen.
Vielen Dank im Voraus für jede Hilfe, die Sie zur Verfügung stellen können.