Hallo Ich habe dieses Array von ObjektSuche Werte in Array von Object PHP
[
{
"id": 1,
"categories": [
222,
243,
208,
115,
173,
253,
236,
121,
69,
250,
221,
270,
245,
123,
124
]
},
{
"id": 2,
"categories": [
222,
243,
208,
69,
250,
221,
270,
245,
123,
124
]
},{
"id": 8774,
"categories": [
222,
243,
208,
115,
173,
253,
236,
121
]
}
]
ich in den „Kategorien“ Array aller Objekte Werte in anderen Array gesucht werden soll und das Spiel zu drucken.
Beispiel möchte ich die Werte 222
und 121
, Werte suchen, die ich in Array schieben
$array = ("222","121");
Und ich möchte diese zwei Werte im Ergebnis suchen und drucken nur das Objekt-ID = 1 und 8774, weil sind diejenigen, die zusammenfallen.
Ich habe mit array_filter in eine foreach getestet, aber doenst funktioniert! Irgendeine Idee? Dank
Das ist mein Code
$search = array("231","228");
$result = array_filter($array, function ($item) use ($search) {
if (array_intersect($item["categories"], $search)) {
return true;
}
return false;
});
//$array is the array of object result
array_intersect funktioniert, aber ich brauche nur die Objekte drucken, die die Werte in eine „Suche“ Array enthält. Wenn man bedenkt, dass das Array "search" mehr als zwei Werte haben kann
http://php.net/manual/en/function.array-intersect.php – nogad
'array_filter' sollte funktionieren. Zeigen Sie Ihren Code, damit wir Ihnen sagen können, was Sie falsch gemacht haben. – Barmar
Bearbeitet @Barmar. Array-Filter funktioniert aber array_intersect, dass ich nicht für mich arbeite, aber ich möchte die Objekte, die die Werte im Such-Array enthält – ZizouJd