「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > SubArray値によるPHP多次元配列ソートメソッド

SubArray値によるPHP多次元配列ソートメソッド

2025-04-30に投稿されました
ブラウズ:210

How Can I Sort a Multidimensional PHP Array by a Subarray's Value?

subarray値で配列をphp

並べ替えデータ構造は一般的なプログラミングタスクであり、配列は情報のコレクションを保存および管理するために頻繁に使用されます。 PHPでは、アレイには値としての配列を含むネストされた構造を含めることができます。 [データの整理や特定の要素の抽出など、さまざまな理由で多次元配列の並べ替えも役立ちます。 [ 'configuration_id' => 10、 'id' => 1、 'optionnumber' => 3、 'optionactive' => 1、 'lastupdated' => '2010-03-17 15:44:12' ]、、 [ 'configuration_id' => 9、 'id' => 1、 'optionnumber' => 2、 'optionactive' => 1、 'lastupdated' => '2010-03-17 15:44:12' ]、、 [ 'configuration_id' => 8、 'id' => 1、 'optionnumber' => 1、 'optionactive' => 1、 'lastupdated' => '2010-03-17 15:44:12' ]、、 ];

目標は、この配列を「option -number」キーに基づいて増分的な方法で並べ替えることです。 [ 'configuration_id' => 8、 'id' => 1、 'optionnumber' => 1、 'optionactive' => 1、 'lastupdated' => '2010-03-17 15:44:12' ]、、 [ 'configuration_id' => 9、 'id' => 1、 'optionnumber' => 2、 'optionactive' => 1、 'lastupdated' => '2010-03-17 15:44:12' ]、、 [ 'configuration_id' => 10、 'id' => 1、 'optionnumber' => 3、 'optionactive' => 1、 'lastupdated' => '2010-03-17 15:44:12' ]、、 ];

ソリューション:

$array = [
    [
        'configuration_id' => 10,
        'id' => 1,
        'optionNumber' => 3,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 9,
        'id' => 1,
        'optionNumber' => 2,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 8,
        'id' => 1,
        'optionNumber' => 1,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
];

この関数は、2番目の最初の配列の最初の配列の「オプションナンバー」値を減算します。最初の要素が2番目の前に来る場合は負の値、等しい場合はゼロ値、2番目の要素の後に正の値が得られます。 'cmp_by_optionnumber');

$sortedArray = [
    [
        'configuration_id' => 8,
        'id' => 1,
        'optionNumber' => 1,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 9,
        'id' => 1,
        'optionNumber' => 2,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 10,
        'id' => 1,
        'optionNumber' => 3,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
];

Php 7.0以降:

phpバージョン7.0以上、宇宙船演算子オーバーフロー/切り捨ての問題を防ぐために、比較関数で減算の代わりに使用できます:

usort($ array、function($ a、$ b){ $ a ['optionnumber'] $ b ['optionnumber']; });

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3