Ich habe schon früher über dieses Problem nachgedacht, bin aber nie dazu gekommen. Ich glaube, ich habe es mit Python gemacht, aber nie mit PHP.
Definieren Sie ein einfaches php-Array:
$arr = array (array(1,2,3), array(4,5,6), array(7,8,9));
Führen Sie dann diesen Ausschnitt aus:
foreach ($arr as $row)
{
list($a, $b, $c) = $row;
echo "$a, $b, $c <br>";
}
Das ist so üblich, dass ich es während meiner PHP-Karriere bestimmt eine Million Mal gemacht habe... aber es scheint ein bisschen verschwenderisch zu sein. $row ist eine temporäre Variable und wird nie wirklich benutzt, und die list()=-Zeile sollte in die foreach-Klammer eingefügt werden können
Etwa so (das funktioniert natürlich nicht):
foreach ($arr as list($a, $b, $c) = $row)
{
echo "$a, $b, $c <br>";
}
Weder noch:
foreach ($arr as list($a, $b, $c))
{
echo "$a, $b, $c <br>";
}
Hat jemand eine coole Abkürzung für dieses Problem gefunden? Danke!
1 Stimmen
Was ist falsch an
echo $row[0], $row[1], $row[2], '<br>';
?0 Stimmen
Nichts ist falsch mit expliziten Verweisen ... aber in einem großen Block von Code Ich mag benannte Variablen haben.
0 Stimmen
In besserer Form, ich sollte mein Array "$arr" anstelle von $a benannt haben... mein Fehler für das....oh, ich kann bearbeiten, schön. Neu bei SO.
0 Stimmen
Ich wage die Vermutung, dass
$row
als einzige "verschwendete" Variable ist insgesamt ziemlich gut optimiert.