私がやっていることは、数値で多次元配列をソートすることですが、0に等しい値を配列の最後に並べることです。MultiDimensional Arrayを0で最後の数値で並べ替える最後の
このコードは、0と1桁の数字で並べ替えることができますが、異なる数字が追加されたときには壊れているようです。
出力は次のようにする必要があります: 41,42,43,44,45,46,0,0,0
<?php
$array = array(
array(
"position" => 41,
),
array(
"position" => 43,
),
array(
"position" => 42,
),
array(
"position" => 44,
),
array(
"position" => 45,
),
array(
"position" => 0,
),
array(
"position" => 0,
),
array(
"position" => 0,
),
array(
"position" => 46,
),
);
// Sort ascending
usort($array, 'sortByPosition');
// Show result
echo '<pre>';
print_r($array);
function sortByPosition($a, $b) {
return $a['position'] != 0 ? $a['position'] - $b['position'] : $b['position'] - $a['position'];
}
[OK]をクリックします。答えをありがとう。同じように動作する別の答えがあるように見えます。 – stwhite
もう一方は簡単です。あなたがむしろそれを受け入れるかどうか心配はありません。 –
私は同じことを理解しようとしている人のために、あなたの答えはより重要であると信ずる説明を与えると思います。 – stwhite