phpbar.de logo

Mailinglisten-Archive

[php] split""

[php] split""

Ulf Wendel ulf_(at)_redsys.de
Wed, 26 Jan 2000 10:15:17 +0000


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