Ich habe schon eine Weile gekämpft. Ich habe 2 Arrays, die ich miteinander vergleichen möchte. Ein Benutzerarray und ein Unterrichtsarray. Die Schlüssel in der Lektion Array sind die IDs dieser LektionVergleichen Sie 2 PHP-Arrays und filtern Sie die Ergebnisse aus
Lektion Array:
Array(
// The key in this array ([143] or [13]) is the lesson ID each lesson contains one ore more topics
[143] => Array (
[0] => 315 // example: 315 is a topic ID within lesson 143
[1] => 311
[2] => 176
[3] => 145
)
[13] => Array (
[0] => 27
[1] => 25
)
)
Das Array Benutzer enthält nur die Informationen darüber, welche Themen, die Benutzer abgeschlossen hat. Themen mit Unterrichts-IDs, die nicht abgeschlossen wurden, sind in diesem Array nicht vorhanden.
Hauptfrage: Ich möchte die Themen-IDs des Benutzerarrays mit dem Lektionsarray vergleichen. Und ich möchte die Themen, die nicht abgeschlossen sind, in einem separaten Array ablegen.
Benutzer Array
Array (
[0] => Array (
[143] => Array (
[145] => 1 // (this 1 means it is completed, this key is a topic ID)
[176] => 1
)
)
[1] => Array (
[13] => Array (
[25] => 1
)
)
)
In diesem Beispiel über dem Ergebnis i bekommen möchte, ist ein Array mit nicht passenden ids wie:
$result = array(143 => array(311,315), 13 => array(27))
ich, es ist ein wenig klar hoffen.
Wenn mir jemand in die richtige Richtung zeigen kann, werde ich sehr froh sein! Ich habe viele Dinge ausprobiert, aber um sie hier zu veröffentlichen, klärt sie nicht die Hauptfrage auf.
Sie mit Benutzer-Array starten haben, überprüfen Sie den ersten Index '143' in der Lektion Array ist oder nicht? Wenn ja, dann überprüfen Sie die Werte, wenn nicht, dann speichern Sie sie im 'Ergebnis-Array'. –
Das Beispielergebnis, das Sie uns gegeben haben, listet nur Themen auf, die von keinem Benutzer ausgefüllt wurden. Ist das wirklich das, was Sie wollen, oder wäre es nicht realistischer, ein solches Array von fehlenden Themen pro Benutzer auszugeben? – flowit
Das $ result enthält bereits Informationen über einen eindeutigen Benutzer. Also muss ich die Themen kennen, die nicht abgeschlossen wurden, damit ich den Benutzer starten kann, wo er geblieben ist. – Paul