ホームページ >バックエンド開発 >PHPチュートリアル >ph の 2 次元配列のソート問題、助けてください、詳細な要件が含まれています
2次元配列の初期状態はこんな感じです
$a = array( array('name'=>'a','num'=>'1','parentNum'=>'0'), array('name'=>'b','num'=>'2','parentNum'=>'0'), array('name'=>'c','num'=>'3','parentNum'=>'0'), array('name'=>'d','num'=>'4','parentNum'=>'1'), array('name'=>'e','num'=>'5','parentNum'=>'2'), array('name'=>'f','num'=>'6','parentNum'=>'0'), array('name'=>'g','num'=>'7','parentNum'=>'0'),)
array('name'=>'a','num'=>'1','parentNum'=>'0'), array('name'=>'d','num'=>'4','parentNum'=>'1'), array('name'=>'b','num'=>'2','parentNum'=>'0'), array('name'=>'e','num'=>'5','parentNum'=>'2'), array('name'=>'c','num'=>'3','parentNum'=>'0'), array('name'=>'f','num'=>'6','parentNum'=>'0'), array('name'=>'g','num'=>'7','parentNum'=>'0'),になるはずです
$a = array( array('name'=>'a','num'=>'1','parentNum'=>'0'), array('name'=>'b','num'=>'2','parentNum'=>'0'), array('name'=>'c','num'=>'3','parentNum'=>'0'), array('name'=>'d','num'=>'4','parentNum'=>'1'), array('name'=>'e','num'=>'5','parentNum'=>'2'), array('name'=>'f','num'=>'6','parentNum'=>'0'), array('name'=>'g','num'=>'7','parentNum'=>'0'),);foreach($a as $r) { $p[] = $r['parentNum'] ? $r['parentNum'] : $r['num'];}array_multisort($p, $a);print_r($a);
Array( [0] => Array ( [name] => a [num] => 1 [parentNum] => 0 ) [1] => Array ( [name] => d [num] => 4 [parentNum] => 1 ) [2] => Array ( [name] => b [num] => 2 [parentNum] => 0 ) [3] => Array ( [name] => e [num] => 5 [parentNum] => 2 ) [4] => Array ( [name] => c [num] => 3 [parentNum] => 0 ) [5] => Array ( [name] => f [num] => 6 [parentNum] => 0 ) [6] => Array ( [name] => g [num] => 7 [parentNum] => 0 ))
この状況は少し理想化されていますが、現実は正しくありません、ありがとうございます
つまり、でも、無から何かを生み出すことはできません
実際、あなたの質問はこれとは関係ありません 並べ替えでは解決できません
ハイライト領域には多くの投稿があるため、注意深く読む必要があります
並べ替えで隣接リストのクエリの問題を解決できるなら、多くの人がまだそうしていますそれを勉強する必要がありますか?
つまり、しかし、無から有を生み出すことはできません
実際、あなたの問題は並べ替えによって解決することはできません
ハイライトエリアには多くの投稿があるので、注意深く読む必要があります
並べ替えでクエリを解決できる場合隣接リストの問題では、まだそれほど多くの人が彼を研究する必要があるのでしょうか?