Mailinglisten-Archive |
Peter Bieling wrote: > Sebastian Mendel wrote: > > >>> <?php >>> $zeichen = array('A', 'B', 'C'); >>> echo $zeichen{2}; >>> //Gibt C aus >>> ?> >>> >>> Ist das irgendwo dokumentiert? >>> Das ergibt nämlich wieder witzige Effekte: >> >> >> >> ja, im Handbuch, unter Array >> >> $zeichen = array('A', 'B', 'C'); >> ist gleich: >> $zeichen = array(0 => 'A', 1 => 'B', 2 => 'C'); >> >> Array-Keys beginnen bei 0 > > > das wusste ich auch schon vorher, aber wo steht im Handbuch unter Array, > dass ich statt $zeichen[2] bei einem Array $zeichen{2} schreiben darf? > Ich dachte, diese Syntax wäre nur für Strings erlaubt. 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] 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]; ... bin selbst momentan zu faul, und hab auch nix heir zum probieren ... 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 -- Sebastian Mendel info at sebastianmendel.de www.sebastianmendel.de www.tekkno4u.de www.nofetish.com
php::bar PHP Wiki - Listenarchive