Ciao,
ho un problema ad ordinare in base a un certo field un array con più fields. IN particolare vorrei ordinare l'array (mantenendo l'associazione key - value) in base al field "data". Vi posto il mio codice, non funziona, non ordina l'array.
Il procedimento che io faccio è:
1) inserisco via pannello di controllo un item (tramite POST)
2) leggo la lista di tutti gli item(file json)
3) aggiungo l'item che ho aggiunto alla lista
4) ordino la lista.
5) scrivo il json.
Orbene il tutto non funziona e non capisco perchè:
codice:
//array di oggetti
$eventi=json_decode($string);
$data = $_POST['data'];
$titolo = $_POST['titolo'];
$testobreve = $_POST['testobreve'];
$data= strtotime($data);
$array = array(
"data" => $data,
"titolo" => $titolo,
"testobreve" => $testobreve
);
//inserimento nuovo oggetto
array_unshift($eventi, $array);
function obj_sort_asc($a, $B)/>/>
{
return $a->data - $b->data;
}
function obj_sort_desc($a, $B)/>/>
{
return $b->data - $a->data;
}
//ordinamento array
usort($eventi,"obj_sort_desc");
//scrivo file
$encoded=json_encode($eventi);
file_put_contents('eventi.json', $encoded);