php Eleganz Schlüssel unscharf

8

Ich muss einige Schlüssel aus einem Array entfernen.

%Vor%

Wie kann ich das eleganter machen? Vielleicht gibt es eine Funktion wie diese array_keys_unset('a', 'b') ?
Ich brauche nicht array_values oder foreach . Ich will nur wissen, ob es möglich ist.
Vielen Dank im Voraus. Entschuldigung für meine englische und kindliche Frage.

    
pltvs 10.12.2010, 14:50
quelle

5 Antworten

15

Sie können das mit einem einzelnen Aufruf von unset als:

tun %Vor%     
codaddict 10.12.2010, 14:52
quelle
5

unset() ist so einfach wie es geht, aber als eine andere Lösung wie wäre es?

%Vor%

In eine Funktion einfügen:

%Vor%

Oder Sie könnten sogar unset() -like setzen, indem Sie ihm eine variable Anzahl von Argumenten übergeben, zB:

%Vor%     
BoltClock 10.12.2010 14:54
quelle
3

Persönlich würde ich das einfach tun, wenn ich eine lange / willkürliche Liste von Schlüsseln hätte:

%Vor%

Sie könnten eine Kombination von Array-Funktionen wie array_diff_key() verwenden, aber ich denke, das obige ist am einfachsten zu merken.

    
Matthew 10.12.2010 14:54
quelle
3

Was stimmt nicht mit unset() ?

Beachten Sie, dass Sie unset($array['a'], $array['b']);

verwenden können

Sie könnten auch eine Funktion wie die von Ihnen vorgeschlagene schreiben, aber ich würde ein Array anstelle von variablen Parametern verwenden.

    
aib 10.12.2010 14:54
quelle
3

Nein, es gibt keine vordefinierte Funktion wie array_keys_unset .

Sie könnten unset mehrere Variablen übergeben:

%Vor%

Oder du schreibst ein solches array_keys_unset selbst:

%Vor%

Der Aufruf dieser Funktion wäre dann ähnlich wie bei Ihnen:

%Vor%     
Gumbo 10.12.2010 14:54
quelle

Tags und Links