Tom: Array-Reihenfolge nicht konsistent

Beitrag lesen

Hello,

warum gibt

$log = array();

$log[2] = "nenn mich 2";
$log[1] = "sag eins zu mir";
$log[0] = "ich bin null";
$log[3] = "ich heiße drei";

$line = implode("¿", $log);

foreach($elements as $element)
echo $element."<br>";


>   
> nenn mich 2  
> sag eins zu mir  
> ich bin null  
> ich heiße drei,  
>   
>   
> und nicht die Reihenfolge der indizes?  
  
Weil Du dir PHP-Arrays als verkettete Listen bzw. Baumstrukturen vorstellen sollst und nicht als klassische Arrays, bei denen über den Index auch die Position im Speicher berechnet werden kann.  
  
Jedes Array-Element bei PHP trägt den Namen (Index) und den Datenwert.  
  
  ![](http://selfhtml.bitworks.de/EinfachesArray500.gif)  
  
  
Liste enthält ihrerseits wieder Listen und lässt sich daher als Baum darstellen:  
  
  
  ![](http://selfhtml.bitworks.de/VerzweigtesArray500.gif)  
  
  
Foreach() fährt nun die Elementestruktur eines Zweiges ab und nimmt keine Rücksicht auf die Namen (Indexe) der Liste.  
  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
<http://bergpost.annerschbarrich.de>