I am struggling with alphanumeric array sorting, I have below array and I the result identical to the result of JavaScript sorting function localecompare() below is my code:
<?php
    $arr = array(
        array( 'label' => '#C' ),
        array( 'label' => '!A' ),
        array( 'label' => '@B' ),
        array( 'label' => 'g' ),
        array( 'label' => '98' ),
        array( 'label' => 'G' )
    );
    usort($arr, function($a, $b) {
    return strnatcasecmp($a['label'], $b['label']);
    });
    print_r($arr);
Output:
Array (
    [0] => Array ( [label] => !A )
    [1] => Array ( [label] => #C )
    [2] => Array ( [label] => 98 )
    [3] => Array ( [label] => @B )
    [4] => Array ( [label] => g )
    [5] => Array ( [label] => G )
)
But I am trying to achieve the result as below which is equivalent to the result of JavaScript sorting function localecompare()
Expected:
Array
(
    [0] => Array ( [label] => !A )    
    [1] => Array ( [label] => @B )    
    [2] => Array ( [label] => #C )
    [3] => Array ( [label] => 98 )    
    [4] => Array ( [label] => g )    
    [5] => Array ( [label] => G )    
)
 
    