Mailinglisten-Archive |
Sebastian Mendel wrote: > wahrscheinlich weil es nicht gewollt ist > mit {} gibt man meines erachtens den OFFSET an und dieser ist nicht mit > dem Key gleich zu setzen > > $array{2} != $array[2] Ist aber leider gleich. > > zumindest wird er beim String als OFFSET verwendet, ein String wird ja > auch nicht als Array betrachtet, das man $string[n] verwenden kann war > ein Fehler und ist auch 'deprecated' > > probier doch mal: > > $array[0] = '0'; > $array[2] = '2'; > $array[1] = '1'; > echo $array{2} . ' ?= ' . $array[2]; Habe ich. Die Klammern sind austauschbar. > außerdem dürfte auch {} nur mit integer gehen, deshalb liefert > $string{$string} ja auch immer das erste Zeichen, weil der $string nach > int gecastet wird} > hingegen in [] int und string Das kann ich nicht beobachten: <?php $array=array(); $array= array("eins" => "erster Wert", "zwei" => "zweiter Wert"); echo $array{"eins"} . "<br>"; echo $array{"zwei"}; ?> Ausgabe (ohne Notice und Error): erster Wert zweiter Wert (PHP 4.3.6 CGI - Win-XPpro) Ich nehme an, dass das aus Kompatibilitätsgründen zur Perl-Syntax so unterstützt wird. Aber, wie gesagt: ich weiß nicht, wo das dokumentiert ist. Viele Grüße Peter
php::bar PHP Wiki - Listenarchive