Tom: Keys bei mehrdimensionalen Arrays

Beitrag lesen

Hello,

Stell die Frage bitte nochmal. Ist da 'was durcheinander gekommen bei der Formulierjng?

OK, einmal auf Deutsch:

Ich habe das Array Elemente. Wenn ich

echo $elemente[7][1];


> ausgebe, erhalte ich den Wert "element 4".  
> Ich hätte jetzt aber gerne nicht den Wert, sondern die "1" von $elemente[7][1].  
>   
> Ich hoffe, ich habe mich jetzt deutlich ausgedrückt. Ich habe da, wie alle Fragesteller so meine Probleme ;-)  
  
Du möchtest also den Index des erste Unterelementes von Element [7] in der Baumstruktur, oder möchtest Du den kleinsten Index der Unterstruktur?  
  
Es helfen Dir dabei die Funktionen  
  
is\_array()     <http://de3.php.net/manual/en/function.is-array.php>  
key()          <http://de3.php.net/manual/en/function.key.php>  
array\_keys()   <http://de3.php.net/manual/en/function.array-keys.php>  
  
Zur Erläuterung:  
Mittels is\_array($element[7]) prüfst Du zuerst, ob das Element seinerseits ein Array ist. Wenn Dies der Fall ist, kannst Du mit key($element[7]) den ersten Index (in der Verkettung) des Unterelementes abfragen.  
  
Vielleicht hilft Dir dieses kleine Testprogramm weiter, die Zusammenhänge und die Notwendigkeiten zu erkennen:  
  
<?php  ### get\_array\_key.php ###  
  
error\_reporting(E\_ALL);  
ini\_set('display\_errors',1);  
  
$\_element = array();  
  
$\_element[4] = 'ich bin ein String';  
$\_element[5] = array();  
$\_element[6] = array();  
$\_element[7] = array();  
$\_element[8] = array();  
$\_element[9] = array();  
  
  
$\_element[5][1] = 'element 1';  
$\_element[6][1] = 'element 2';  
$\_element[6][2] = 'element 3';  
$\_element[7][1] = 'element 4';  
$\_element[7][2] = 'element 5';  
$\_element[7][3] = 'element 6';  
$\_element[8][1] = 'element 7';  
$\_element[8][2] = 'element 8';  
  
echo '<p>$\_element[7] ist ' . (is\_array($\_element[7])?'ein':'kein') . ' Array</p>';  
echo '<p>der erste Schlüssel lautet ' . key($\_element[7]) . '</p>';  
  
echo '<p>$\_element[9] ist ' . (is\_array($\_element[9])?'ein':'kein') . ' Array</p>';  
echo '<p>der erste Schlüssel lautet ' . key($\_element[9]) . '</p>';  
  
echo '<p>$\_element[4] ist ' . (is\_array($\_element[4])?'ein':'kein') . ' Array</p>';  
echo '<p>der erste Schlüssel lautet ' . key($\_element[4]) . '</p>';  
  
?>  
  
  
  
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>