2
私は多次元配列を基本的に持っています。私は、データの3年分を持っていたのであれば、例えば、それは次のようになります。配列の次元を知らないarray_multisortを使用して多次元配列をソート
$data[0] = Array(0,1,2,3,4,5,6,7);
$data[1] = Array(6,5,4,3,6,7,8,9);
$data[2] = Array(1,4,2,5,7,3,1,4);
を今私は年の1に基づいて、これらの配列を並べ替えることができるようにしたいです。たとえば、2年目に基づいてソートすると、$ dataの並べ替えに基づいてソートされます(1)。
私はarray_multisortで簡単にこれを行うことができます。大丈夫ですが、私はそこになりますどのように多くの年のデータの知らない
array_multisort($data[1],SORT_ASC,$data[0],$data[2]);
。私は議論の正しい数を指定するいくつかの方法が欲しいですが、私はPHPでそれを行う方法がわかりません、私はちょうど各年のためにifステートメントを持っていなければ、信じられないほど痛いようです:
if ($num_years == 1)
{
array_multisort($data[$which_year],SORT_ASC);
}
else if ($num_years == 2)
{
array_multisort($data[$which_year],SORT_ASC,$data[0],$data[1]); // this does work, interestingly, in spite of the repetition...
}
誰かがもっと良い方法を知っていますか?
Ah!クール。それはまさに私が必要なもののように聞こえる。やってみます。 – Ben
それは動作します! 1つのこと:配列を$ params配列に参照で追加する必要があります。それ以外の場合は動作しません。だから:$ params [] = &$year; – Ben