Hallo zusammen
folgende Codes:
<?php $a[0][5]="5";<br />
foreach($a as $key=\>$value)
{
echo "Schlüßel " . $key . "
";
echo "Wert " . $value . "
";
}
?\>
Ausgabe:
Schlüßel 0
Wert Array
Hier wird nur Array ausgegeben, aber nichts vom Inhalt der Feldvariable.
Im folgenden Code:
<?php $a[0]="1";<br />$a[0][5]="5";
foreach($a as $key=\>$value)
{
echo "Schlüßel " . $key . "
";
echo "Wert " . $value . "
";
}
?\>
Ausgabe:
Schlüßel 0
Wert 1 5
Hier werden die Werte des Arrays ausgegeben. Warum gibt er nicht 1 und Array aus? Im ersten Fall wird anstelle der 5 nur Array ausgegeben.
Gruß und Dank
Moin moin
$a[0][5]=„5“;
var_dump($a);
foreach($a as $key=>$value)
{
echo "Schlüßel " . $key . "
";
echo "Wert " . $value . "
";
}
?>
array
0 =>
array
5 => string ‚5‘ (length=1)
Schlüßel 0
Wert Array
Hier wird nur Array ausgegeben, aber nichts vom Inhalt der
Feldvariable.
Im folgenden Code:
<?php :blush:a[0]="1";
$a[0][5]="5";
var_dump($a);
foreach($a as $key=>$value)
{
echo "Schlüßel " . $key . "
";
echo "Wert " . $value . "
";
}
?>
array
0 => string ‚1 5‘ (length=6)
Schlüßel 0
Wert 1 5
helf Dir selbst mit var_dump !!!
du siehst nur nicht die 4 leerzeichen 
übrigens
$a[0][5] = …
sagt ja aus das der erste wert
im Array $a also [0] ein array mit [5] elementen hat.
machen wir Array $a [0] = „1“ ein string (kein array)
mit [0][5] springen wir dann an die 6 position dieses strings im Array 0 
Danke!
Hallo und danke für die Antwort!
Wenn also ein Array wie folgt festgelegt wurde
$a[0]=„1“;
$a[0][5]=„5“;
dann bedeutet das, dass ein eindimensionales Feld festgelegt wurde, dass im Schlüssel $a[0][0] den Wert 1 hat und im Schlüssel $a[0][5] den Wert 5.
Wenn aber gleich ein zweidimensionales Feld wie folgt festgelegt wurde
$a[0][5]=„5“;
dann bedeutet das, dass ein der Wert im Schlüssel $a[0][5][0]=„5“ liegt, der Schlüssel $a[0] hingegen auf das Array $a[0][5] zeigt.
Da die foreach Schleife nur den Schlüssel $a[0] sieht gibt sie folglich Array aus.
Gruß und Dank!
nein.
php ist schwach typisiert und daher kommt es manchmal zu sehr unschönen verhalten:
Wenn du eine Variable mit [5] ansprichts dann bedeutet das falls die Variable ein Array ist, oder die Variable leer ist, dass du auf das Element mit dme Key 5 zugreifst.
Wenn die Variable ein String ist dann greifst du auf die Position 5 des Strings zu.
Zur Verdeutlichung:
$array = array("test", "test2");
echo $array[0]; // test
echo $array[1]; // test2
$string = "test";
echo $string[0]; // t
echo $string[1]; // e
$string[0] = "bla";
echo $string[0]; // b
echo $string[1]; // e
echo $string; // best
$string = array("bla");
php \> var\_dump($string);
// array(1) {
// [0]=\>
// string(3) "bla"
// }
$string = "test";
echo $string; // test
ich würde [] auf einen String nicht nutzen.
Das ist für die lesbarkeit und Wartbarkeit von Quellcodes ein ziemlicher Supergau.
Gruß
Nochmals Danke!
Danke für die Erläuterung!