Entfernen von key = value-Paaren aus einem Array, ohne sie zu entfernen

8

Ich versuche, zwei Schlüsselwertpaare aus einem Array zu entfernen. Ich verwende den folgenden Code, um die Schlüssel auszusortieren, die ich nicht haben möchte. Ich verstehe nicht, warum das nicht richtig ist. Wenn ich das OR entferne ( || $key != 6 ), wird es richtig funktionieren, aber ich hatte gehofft, eine if-Anweisung zu haben. Kann mir jemand erklären, was ich falsch mache? Danke.

%Vor%     
Drewdin 12.08.2011, 03:36
quelle

5 Antworten

19

Dies ist der beste Weg, dies zu tun:

%Vor%

Angenommen, Sie benötigen ein neues Array $values . Ansonsten entferne sie direkt von $tests .

Referenz hier: Ссылка

Das Folgende ist nur für Ihre eigene Ausbildung in boolescher Logik, es ist nicht die Art, wie Sie es tun sollten.

Sie müssen || in && ändern. Sie wollen nicht entweder im Ergebnis. Mit logischem ODER werden alle durchkommen, weil 4 != 6 und 6 != 4 . Wenn es 4 erreicht, wird es wie folgt laufen:

  

Sind Sie nicht gleich 4? Oh, du bist gleich 4? Nun, das Beste, was ich tun kann, ist dich zu lassen, wenn du nicht gleich 6 bist.

Wenn Sie es in && ändern, wird es etwa so aussehen:

  

Bist du neben 4 oder 6 eine Nummer? Nein? Entschuldigung, Kumpel.

    
Jonah 12.08.2011, 03:42
quelle
7

Jemand ist wieder über De Morgans Gesetze gestolpert ...

%Vor%     
Ignacio Vazquez-Abrams 12.08.2011 03:44
quelle
3

Angenommen, Sie brauchen die Schleife nicht wirklich, dies wird das gleiche tun:

%Vor%     
deceze 12.08.2011 03:48
quelle
2

Ihr Zustand ist falsch. Wenn du Schlüssel 4 und 6 nicht nehmen willst, sollte dein Zustand so sein.

%Vor%     
Rukmi Patel 12.08.2011 03:43
quelle
1

Es gibt eine native PHP-Funktion:

%Vor%     
Fox 18.04.2014 10:53
quelle

Tags und Links