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