Mailinglisten-Archive |
Peter Holm wrote: > geht irgendwie ein > > $array = split("",$string) > oder > $array = explode("",$string) > > wenn $string="123456" > > also ohne mögliches Split-Zeichen? Unter PHP3 gibt es einige Besonderheiten bei den Variablen, die man nicht durch einfaches Handbuchstudium erfährt. Sehr schön sind folgende zwei. +++ Strings sind auch irgendwie Arrays +++ Wie in C ist ein String nicht nur ein zusammenhängender Block von Zeichen, sondern auch eine Ansammlung einzelner Zeichen. In C reserviert man sich für einen String ein bestimmtes Stück Speicher und legt in den Speicherzellen nacheinander die Buchstaben ab. Man erhält gewissermaßen eine Kette auf deren einzelne Elemente man mit Zeigern zugreifen kann. Auch PHP3 schenkt uns auch die Möglichkeit auf einzelne Elemente eines Strings zuzugreifen, ohne ihn vorher mit einer Funktion zerlegen zu müssen: $text = "123456"; $len = strlen($text); for ($i=0; $i<$len; $i++) { echo '$text['.$i."=$text[$i]<br>\n"; } +++ Objekte +++ Objekte speichert PHP intern als Hash (mehrdimensionales Array). Das hat den Effekt, daß man auch ein Objekt als Array interpretieren und durchlaufen kann. class foo { var $classname = foo; function foo() { return true; } function bla() { return true; } }; $f = new foo; reset($f); while (list($k, $v)=each($f)) echo "$k => $v<br>\n"; So darf man m.W. jedoch nur in Version 3 ein Objekt benutzen. Till, weißt Du genauer welche der beiden Eigenschaften auch noch in Version 4 zur Verfügung steht? Ulf
php::bar PHP Wiki - Listenarchive