Ciao a tutti,
qualcuno è in grado di spiegarmi il perché di questo comportamento di php?
Il secondo blocco di codice, identico al primo, genera un warning.
Array sizes are inconsistent
Se vado a vedere il dump di $data vedo l'inconsistenza ma non ne capisco la ragione, sembra che
$data = array();
non resetti quell'array
mi ci sto mischiando il cervello...
codice:<? error_reporting(E_ALL); // PRIMO BLOCCO DI CODICE $data = array(); $data[2] = array('volume' => "primo", 'edition' => 2); $data[3] = array('volume' => "secondo", 'edition' => 1); foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); // SECONDO BLOCCO DI CODICE $data = array(); $data[2] = array('volume' => "terzo", 'edition' => 2); $data[3] = array('volume' => "quarto", 'edition' => 1); foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } var_dump($volume); array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); ?>
Se cambio il modo di riempire l'array e lo faccio in modo "più corretto" quel warning non appare..
$data[] = array('volume' => "terzo", 'edition' => 2);
$data[] = array('volume' => "quarto", 'edition' => 1);
qualcuno sa spiegarmi cosa mi sfugge?
grazie!

Rispondi quotando
