[A1] -> [A20]、[B1] -> [B20] などの形式のキーを持つ配列があり、最初に使用してその配列を並べ替えようとしていますksort()
(文字を正しい順序で取得するため) ) そしてuksort()
.
ただし、uksort()
関数をどのように記述すればよいかわかりません。また、配列キーが奇妙な順序で戻ってきます。誰かが見て、私が間違っていることについてアドバイスしてもらえますか? ありがとう。
function _sort_selection_keys($a, $b){
$let_a = substr($a, 0, 1);
$let_b = substr($b, 0, 1);
$num_a = intval(substr($a, 1));
$num_a = intval(substr($b, 1));
/** Check that the first letter is the same. It should be, as the array has already been through 'ksort()', but it's worth checking any way */
if($let_a !== $let_b) :
return strcasecmp($a, $b);
endif;
if($num_a > $num_b) :
return -1;
elseif($num_a = $num_b) :
return 0;
elseif($num_a < $num_b) :
return 1;
endif;
}