0
PHPのuasort関数で配列を使用しています。 $a[0]['date'] == $b[0]['date']
の場合、ソートしたくありません。PHPが、値が等価であれば、並べ替えを防ぐことができます。
とにかく、私のコードはとにかく並べ替えられます。どうしたらそれを防ぐことができますか?ここで
は私の配列です:
そして、ここでは配列です:
Array (
[2764] => Array (
[status] => 0
[0] => Array (
[date] => 2000-01-01
)
[1] => Array (
[date] => 2016-01-16
)
)
[5974] => Array (
[status] => 0
[0] => Array (
[date] => 2000-01-01
)
[1] => Array (
[date] => 2010-12-13
)
)
)
そして、ここでは、私が並べ替えしようとしている方法です:
uasort($arr, function($a, $b)
{
if ($a['status'] == $b['status'])
{
if ($a[0]['date'] == $b[0]['date'])
{
return 0; # I do not want to sort here, but this will sort anyway - why is that so?
}
else
{
return strcmp($a[0]['date'], $b[0]['date']);
}
}
else
{
return $b['status'] - $a['status'];
}
});
どのようにソートインデックスによってできました日付が同じ場合は?私はdocumentationのようにインデックス2764と5974.
日付が同じ場合、どのようにインデックスで並べ替えることができますか?私はインデックス2764と5974で並べ替えることを意味します。 – xms
あなたはこのようなものを使用しようとすることができます:http://php.net/manual/pl/function.asort.php#80798 – kuba
私は新しいキー/アレイ。日付が同じ場合、配列は元の順序番号でソートできます。あなたの助けに感謝します。 – xms