un'occhiata a questo:chiave php() in foreach-loop strano comportamento o ottenere la chiave successivo ciclo foreach
<?php
$array = array('a' => '…', 'b' => '…', 'c' => '…', 'd' => '…', 'e' => '…', 'f' => '…');
foreach ($array as $key => $val){
echo "current key: $key, next key: ".key(($array))."<br>";
}
?>
USCITA:
current key: a, next key: b
current key: b, next key: c
current key: c, next key: d
current key: d, next key: e
current key: e, next key: f
current key: f, next key: a
ero alla ricerca di una funzione per ottenere la prossima chiave di un array associativo all'interno di un ciclo foreach. ho provato un po 'e improvvisamente ha funzionato. (come puoi vedere nel mio esempio).
MA PERCHE 'FUNZIONA QUESTO? Ha senso? … non a me! Puoi spiegarmi questo?
È a causa della parte key(($array))
ma perché? Voglio dire .. è stato un errore .. volevo scrivere key($array)
ma ho dimenticato di cancellare le 2 parentesi graffe. Quindi è stata una coincidenza !!!
Perché si comporta in questo modo? Voglio dire, va bene ma ... ????
Interessante. Se attivi la segnalazione degli errori, vedrai molti errori. Le parentesi aggiuntive stanno infrangendo il riferimento alla variabile diretta. '$ a' è una variabile,' ($ a) 'è un'espressione risultante nel * valore * di' $ a'. 'key' si aspetta una variabile passata per riferimento. Non sono sicuro di cosa esattamente "chiave" faccia con quello e perché si comporta come si comporta, ma lo archiverei sotto un comportamento sbagliato e indefinito. – deceze
whoa, se questo è inteso comportamento fantastico. Ci sono state così tante volte che avrei potuto usare qualcosa di simile. –
ma cosa suggerisci? devo tenerlo così? –