assoz. Array

thl1000

Grünschnabel
Moin,

ich muss aus einem assoziativen Array alle Keys entfernen, deren Werte leer sind.
Die Keys mit den leeren Werten stehen nicht immer an der gleichen Stelle im Array.

Hat jemand eine gute Idee?
 
Moin,

hier ein Beispiel:

Code:
 $a = array(bla => "test", blub =>" test2", blob =>""', blab => "test3", blib => "")

In diesem Array sind also 2 Keys, deren Werte leer sind - und genau diese Keys müssen aus dem Array entfernt werden.
 
Am einfachsten und elegantesten ginge das wohl mit [phpf]array_filter[/phpf]:
PHP:
$a = array_filter($a, 'strlen');
Erklärung: [phpf]array_filter[/phpf] durchläuft das Array und gibt jeden Wert an die Funktion weiter, die als zweiter Parameter angegeben wurde. Gibt diese Funktion false (bzw. 0) zurück, wird der jeweilige Wert in das Ergebnisarray nicht aufgenommen, andernfalls schon. D.h. in diesem konkreten Fall, dass alle Werte, für die [phpf]strlen[/phpf] 0 ist, rausfliegen.
 
Besten Dank, es funktioniert...

Allerdings hab ich jetzt noch ein Problem:

Gibt es Workaround für die Funktion array_combine() für PHP 4?
 
Moin,

danke für den Tipp, werde wohl ab sofort auch die Kommentare lesen...:)

Der Workaround funktioniert übrigens perfekt.
 
Zurück