Vinzenz Mai: array_flip() fehlerhaft?

Beitrag lesen

Hallo,

mir fiel gerade eine Besonderheit bei array_flip() auf. Normalerweise dürfte doch ein  Tausch mit leeren Werten nicht funktionieren:

das hängt davon ab, was Du als "leeren Wert" ansiehst.

Beachten Sie, dass die Werte von trans gültige Schlüssel sein müssen, z.B. haben sie entweder integer oder string zu sein. Ist ein Wert vom falschen Typ wird eine Warnung ausgegeben, und das Schlüssel/Werte-Paar wird nicht vertauscht.
"

Wenn ich aber nun ein Array habe:
*Alles var_export() Ausgaben

array (
  0 => '',
  1 => '',
  2 => '',
  3 => '',
)

macht array_flip() daraus:

erwartungsgemäß

array (
  '' => 3,
)

das dürfte doch nicht sein, oder?

doch sicher. Das ist ganz genauso dokumentiert. Ein Leerstring ist ein String. Ein Leerstring als Array-Key ist zulässig, siehe Handbuch, Arrays (unterhalb der Warnung).

Freundliche Grüße

Vinzenz