Sort date array annidato

di il
1 risposte

Sort date array annidato

Ciao a tutti,
dovrei ordinare un array che si trova all'interno di un array padre. Scusate la ripetizione.

$myArray =	[		[
					key1 => 'pippo',
					key2 => 'pluto',
					keyArray =>	[
									[
									'nome' => 'anna',
									'dataS' => '12-05-2022 13:22:43'
									]
									[	
									'nome' => 'mario',
									'dataS' => '13-06-2022 16:23:55'
									]
									[
									'nome' => 'luigi',
									'dataS' => '09-05-2022 08:09:33'
									]
								]
					]
					[
					key1 => 'minnie',
					key2 => 'paperino',
					keyArray =>	[
									[
									'nome' => 'carla',
									'dataS' => '22-07-2022 17:20:41'
									]
									[	
									'nome' => 'enrico',
									'dataS' => '13-10-2022 19:44:56'
									]
									[
									'nome' => 'michela',
									'dataS' => '15-08-2022 11:05:00'
									]
								]
					]
			]


dovrei ordinare la chiave keyArray.

Ciò che faccio è questo:

function sortDate($a, $b)
{
    $a = strtotime($a['dataS']);
    $b = strtotime($b['dataS']);
    
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
    
}

function sortKeyArray($a)
{
    usort($a['keyArray'], 'sortDate');
}

usort($myArray, 'sortKeyArray');

Ma non mi ordina nulla.

Dove sbaglio?

Grazie ciao

1 Risposte

  • Re: Sort date array annidato

    Ho risolto...

    Ordinanando in tempo reale la chiave keyArray... Ogni volta che faccio il push di un oggetto ordino.

    Ciao
Devi accedere o registrarti per scrivere nel forum
1 risposte