Wie finde ich den Index des Objekts im PHP-Array?

8

Hier ist print_r Ausgabe meines Arrays:

%Vor%

Wie finde ich den Index des Objekts mit [id] = & gt; 4, um es aus dem Array zu entfernen?

    
Milan 17.07.2012, 19:14
quelle

9 Antworten

6
%Vor%

Dies wird als schneller als jede andere Lösung angesehen, da wir nur array durchlaufen bis wir das Objekt finden, das wir entfernen wollen.

Hinweis: Sie sollten ein Element eines Arrays nicht während der Iteration entfernen, wir machen es danach hier.

    
fdomig 17.07.2012, 19:20
quelle
6
%Vor%

$parentObj ist offensichtlich Ihr Root-Array - das, das alle anderen enthält.

Wir verwenden die foreach -Schleife, um über jedes Element zu iterieren und dann seine id -Eigenschaft gegen den gewünschten Wert zu testen. Sobald wir das haben, ist der $key , auf dem wir uns befinden, der Index, nach dem Sie suchen.

    
Lix 17.07.2012 19:16
quelle
0

probiere das

aus %Vor%     
half-a-nerd 17.07.2012 19:22
quelle
0

Verwenden Sie array_search :

%Vor%     
Michał Kluczka 17.07.2012 19:26
quelle
0

Hier ist meine Lösung. Gegeben, es ist ein bisschen hackish, aber es wird die Arbeit erledigt.

search (array $ items, mixed $ id [, & amp; $ key]);

Gibt das Element zurück, das von $id gefunden wurde. Wenn Sie die Variable $key hinzufügen, erhalten Sie den Schlüssel des gefundenen Elements.

%Vor%

Verwendung

%Vor%

Hinweis: Dies könnte geändert werden, um einen benutzerdefinierten Schlüssel zuzulassen und mehrere Elemente mit demselben Wert zurückzugeben.

Ich habe ein Beispiel erstellt, damit Sie es in Aktion sehen können .

    
Baylor Rae' 17.07.2012 19:36
quelle
0

Eine lustige Alternative

%Vor%     
Federkun 17.07.2012 19:47
quelle
0

Zur Zeit hat php noch keine unterstützte Funktion dafür.

Beziehen Sie sich also auf Javas Vektor oder jQuerys $ .inArray (), es wäre einfach:

%Vor%

Sie können diese Funktion als Kernfunktion für später speichern.

    
ThangTD 05.11.2015 04:38
quelle
-1
%Vor%     
hjpotter92 17.07.2012 19:23
quelle
-1

Eine andere Möglichkeit, das Ergebnis zu erzielen, ist die Verwendung von array_filter .

%Vor%     
Marcin Necsord Szulc 17.07.2012 19:24
quelle

Tags und Links