ホームページ >バックエンド開発 >PHPチュートリアル >配列のマルチソートソート原理の詳しい説明_PHPチュートリアル

配列のマルチソートソート原理の詳しい説明_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:05:26933ブラウズ

コードをコピーします コードは次のとおりです:

$data[] = array('volume' => 67, 'edition' => 2);
$data[ ] = array( 'volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[ ] = array( 'volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[ ] = array( 'volume' => 67, 'edition' => 7);
?>

コードをコピー コードは次のとおりです:

$ a = array(1,2 ,3);
$b = array(3);
// データをボリュームに従って降順に、エディションに従って昇順に並べ替えます
// $data を最後のパラメータとして使用し、共通キーで並べ替え
array_multisort($a, $b , $data);//一次元配列の数が異なります
var_dump($data);
?> 上記のテスト コードは、配列の数が矛盾しています
警告: array_multisort(): 15 行目の G:wwwtestindex.php で配列のサイズが矛盾しています。

もう一度見てください


コードをコピー
コードは次のとおりです:$data[] = array('volume' => 67, 'edition ' => 2);
$data[] = array('ボリューム' => 86, 'エディション' => 1);
$data[] = 配列('ボリューム' => 85, 'エディション' => 6);
$data[] = array('ボリューム' => 98, 'エディション' => 2);
$data[] = 配列('ボリューム' => 86, 'エディション' => 6);
$data[] = array('volume' => ; 67, 'edition' => 7, 3, 4,4);//二次元の数値の数が違います
?>




コードをコピーします
コードは次のとおりです: $a = array(11,2,3,4,5,6);
$b = array(3,3,3,3,3,3);
//結果から、11( 67,7,3,4,4) に対応する配列が同じ順序で出現していることがわかります;
//データをボリュームに応じて降順、エディションに応じて昇順に並べ替えます
// $data を最後のパラメータとして使用し、共通キーで並べ替えます
array_multisort($a , $b, $data);
var_dump( $a, $data);
?>



上記の結果から次のことがわかります:
配列パラメータは同じ 1 次元の数値を持つ必要があります;
各配列の対応する位置
(
同じキーではありませんが、$b(99=>4) の 4 に対応する $a(1=>4) などの自然な位置に対応します
。それらの位置はすべて最初であるため、キー(1,99)の対応関係ではありません)、対応する位置の値は、互いに等しい竹竿に装着されているようなもので、それらの値の1つを調整する必要があります。この位置では、同じ「竹の棒」上の他の値の垂直方向の動きになります。 クラス:
$ a $ B $ C
4 = & GT 7 8 = & GT; 10 '999' = > 0
9=>9 0=>1 999=>90=>2 9=>3 9999=>7
----- -------- ------
$a の 7 と 9 が交換されると、$b の 10 と 1 も $c の 0 と 9 と交換されます。
したがって、この関係は上記の 3 つの配列のようなもので、同じ色が同じ「前面」にあり、そのうちの 1 つが変更された場合は、全員が一緒に位置を変更する必要があります。




http://www.bkjia.com/PHPjc/327698.html
www.bkjia.com

本当http://www.bkjia.com/PHPjc/327698.html技術記事次のようにコードをコピーします: ?php $data[] = array('volume' = 67, 'edition' = 2); $data[] = array('volume' = 86, 'edition' = 1); [ ] = array('ボリューム' = 85, 'エディション' = 6);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。