How to sort by numbers a mixed pair of string and number elements in an array with PHP

1 Answer

0 votes
$arr = [
    "Python 4", "C 9", "C++ 5", "C# 6",
    "Java 1", "PHP 7", "Go 2"
];

function extractNumber(string $s): int {
    $pos = strrpos($s, ' ');
    
    return (int) substr($s, $pos + 1);
}

usort($arr, function($a, $b) {
    return extractNumber($a) <=> extractNumber($b);
});

print_r($arr);



/*
run:

Array
(
    [0] => Java 1
    [1] => Go 2
    [2] => Python 4
    [3] => C++ 5
    [4] => C# 6
    [5] => PHP 7
    [6] => C 9
)

*/

 



answered Jan 23 by avibootz

Related questions

...