ich ein Array mit mehreren Personen-Objekte darin haben, sehen diese Objekte wie folgt aus:prüfen, ob ein Objekt in einem Array existiert
id: 1,
name: 'Max Muster',
email: '[email protected]',
language: 'German'
Jetzt habe ich in einem anderen Array bekam Objekte, die sieht nicht genau das gleiche:
id: 1,
name: 'Max Muster',
email: '[email protected]',
language: 'de'
ich habe eine foreach-Schleife zu Schleife durch Array 2 und prüfen, ob die Objekte in einem Array existiert 1.
foreach($array2 as $entry) {
if(existsInArray($entry, $array1)) {
// exists
} else {
// doesn't exist
}
}
Gibt es eine zu überprüfende Funktion (wie meine existInArray()), wenn mein Objekt im Array existiert? Ich muss nur überprüfen, ob die Objekt-ID existiert, andere Attribute spielen keine Rolle.
Verwenden Sie 'array_diff', um zu überprüfen, ob beide Arrays identisch sind oder nicht. –
Da die Objekte unterschiedlich sind, können Sie keinen einfachen Vergleich durchführen, um festzustellen, ob sie identisch sind. Was qualifiziert ein Objekt aus dem ersten Array als übereinstimmend mit einem Objekt aus dem zweiten Array? Gleiche ID? Gleicher Name? Die gleiche E-Mail? Dieselbe Sprache? Eine Kombination von denen? –
Ja, müssen Sie diese Objekte in Array als 'Array_diff' konvertieren. –