Avatar billede nemlig Professor
17. februar 2023 - 16:56 Der er 2 kommentarer og
1 løsning

Usort() - deprecated

Hejsa.
Jeg har en lille udfordring i PHP 8.2, hvor jeg får denne fejl:
PHP Deprecated:  usort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero in /var/www/udlejning/index.php on line 422
og fejlen forstår jeg ikke.

Jeg har bygget et array med en række poster, og sorterer det i datoorden. Datoerne er gemt i formatet "YYYY-MM-DD 00:00:00"

Array bygger jeg op således:
$my_data2[] = array(
    'id'                 => $row['id'],
    'startdato'         => $row['startdato'],
    'slutdato'            => $row['slutdato']);

Jeg sorterer således:
usort($my_data2, function ($a, $b) {return $a['startdato'] > $b['startdato'];});
og det er denne linje, som giver fejlen.

Nogen forslag til løsning?
Avatar billede arne_v Ekspert
17. februar 2023 - 17:05 #1
Prøv:

usort($my_data2, function ($a, $b) { return strcmp($a['startdato'] ,$b['startdato']); });
Avatar billede nemlig Professor
17. februar 2023 - 17:28 #2
Sådan Arne - tusinde tak. Det spiller korrekt og ingen fejl længere. :):)
Avatar billede arne_v Ekspert
17. februar 2023 - 17:40 #3
Fejl:

Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero

https://www.php.net/manual/en/function.strcmp.php dokumentation:

Returns -1 if string1 is less than string2; 1 if string1 is greater than string2, and 0 if they are equal.

De passer sammen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester