PHPマニュアルによると、「比較結果が等しくなる二つの要素があった場合、ソートした配列におけるそれらの並び順は不定となる」ということなのですが、PHP5.3.xからPHP7.1.xへの移行時に、同じプログラムでもarsortした値の順番が変わってしまいます。
移行してもPHP5.3.xのままの順番を保持する方法がありましたらご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
<?php function test($aArray,$aLength) { arsort($aArray); foreach ($aArray as $ck => $cv) { $array[] = $ck; } for($cnt=0;$cnt<$aLength;$cnt++) { $result .= $array[$cnt] . '>'; } return $result; } $array = Array(0.5,2.5,0.5,2.5,2.3,2.5); $test = test($array,3); print $test; ?>
PHP5.3.xの$testの表示結果:3>5>1>
PHP7.1.xの$testの表示結果:1>3>5>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/28 07:21