2

説明することはあまりありません。サンプルコードに直接アクセスします。

<?php
$array[0]['a'] = 3;
$array[0]['b'] = 2;
$array[0]['c'] = 4;
$array[0]['d'] = 1;

$array[1]['a'] = 4;
$array[1]['b'] = 2;
$array[1]['c'] = 3;
$array[1]['d'] = 1;

$array[2]['a'] = 1;
$array[2]['b'] = 2;
$array[2]['c'] = 4;
$array[2]['d'] = 3;
?>

並べ替えると、次のようになります。

<?php

$array[0]['d'] = 1;
$array[0]['b'] = 2;
$array[0]['a'] = 3;
$array[0]['c'] = 4;


$array[1]['d'] = 1;
$array[1]['b'] = 2;
$array[1]['c'] = 3;
$array[1]['a'] = 4;

$array[2]['a'] = 1;
$array[2]['b'] = 2;
$array[2]['d'] = 3;
$array[2]['c'] = 4;
?>

本当に頭を悩ませることはできません。一言で言えば、配列全体を並べ替えるのではなく、配列の特定の次元を並べ替えたい

4

2 に答える 2

0

foreachレベルを下げてから、各部分配列を並べ替えるために使用します。これを行うにはいくつかの方法があります。

foreach($arr as &$sub) asort($sub);
// OR
foreach($arr as $k=>$sub) asort($arr[$k]);
// OR
foreach(array_keys($arr) as $k) asort($arr[$k]);
于 2012-07-27T14:38:07.847 に答える
0

インデックスを直接ソートする必要があります:

ksort($array[0]);

すべてのインデックスをソートするには:

foreach($array as $index => $val){ 
    asort($val);
    $array[$index] = $val; 
}
于 2012-07-27T14:38:30.750 に答える