次の配列があります
$records = array(
array("postId"=>"1","grid"=>"6"),
array("postId"=>"2","grid"=>"3"),
array("postId"=>"3","grid"=>"6"),
array("postId"=>"4","grid"=>"3"),
array("postId"=>"5","grid"=>"3"),
array("postId"=>"6","grid"=>"12"),
array("postId"=>"7","grid"=>"3"),
);
任意の数の連続した「グリッド」の合計が 12 になるように、この配列を並べ替えたいと思います。
例: 上記の配列の「グリッド」の値は次のとおりです: 6,3,6,3,3,12,3
(6+6=12), (3+3+3+3=12),(12=12) したがって、新しい順序は6,6,3,3,3,3,12
or3,3,3,3,12,6,6
または6,3,3,6,3,3,12
したがって、配列をソートした後、新しい配列は次のようになります。
$records=array(
array("postId"=>"1","grid"=>"6"),
array("postId"=>"3","grid"=>"6"),
array("postId"=>"2","grid"=>"3"),
array("postId"=>"4","grid"=>"3"),
array("postId"=>"5","grid"=>"3"),
array("postId"=>"7","grid"=>"3"),
array("postId"=>"6","grid"=>"12"),
);
PHPマニュアルを検索したところ、次の関数が見つかりました:sort、uasort、uksort、usortですが、それらの使用方法がわかりませんでした。
PHP を使用してこれを実現する方法を教えてください。
アップデート
グリッドの値は常に 3 または 6 または 12 になります (これら 3 つの数値のみ)
問題
$records = array(
array("postId"=>"1","grid"=>"3"),
array("postId"=>"2","grid"=>"6"),
array("postId"=>"3","grid"=>"3"),
array("postId"=>"4","grid"=>"3"),
array("postId"=>"5","grid"=>"6"),
array("postId"=>"6","grid"=>"6"),
array("postId"=>"7","grid"=>"3"),
array("postId"=>"8","grid"=>"6"),
);