Moin!
Gibt es einen Unterschied zwischen
for ($i = 0; $i < count($typname); $i++) {
echo $typname[$i];
}
>
> und
>
> ~~~php
foreach ($typname as $value) {
> echo $value;
> }
?
Ja.
foreach bearbeitet alle Elemente des Arrays, in $value erhälst du eine Kopie des Arraywertes.
Die for-Schleife bearbeitet alle Arrayelemente mit Index von 0 bis count($typname)-1, unabhängig davon, ob diese Elemente tatsächlich existieren.
Nimm mal folgendes Szenario:
<?php
error_reporting(E_ALL | E_STRICT);
$typname = array(0=>'Index Null', 3=>'Index drei');
echo "For\n";
for ($i = 0; $i < count($typname); $i++) {
echo $typname[$i]."\n";
}
echo "Foreach\n";
foreach ($typname as $value) {
echo $value."\n";
}
Ergebnis:
For
Index Null
Notice: Undefined offset: 1 in /root/test.php on line 9
Foreach
Index Null
Index drei
- Sven Rautenberg