1

あなたの専門家の助けが必要です。私はこのような配列を持っています:

array(
    array('id'=>1, 'name'=>'b'), 
    array('id'=>2, 'name'=>'a'), 
    array('id'=>3, 'name'=>'c'));

でソートする必要がありますが、またはnameを使用すると、配列は でソートされます。ksort()asort()id

使ってみarray_multisort()ましたが、この機能は役に立ちません。

4

3 に答える 3

3
$ar = array(
       array('id'=>1, 'name'=>'b'),
       array('id'=>2, 'name'=>'a')
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);

最初に配列を定義してからソートすると、作業が楽になります。

参照

于 2013-06-27T23:02:47.057 に答える
2

名前をキーとして割り当ててから並べ替えることができます。

 $array = array(array('id'=>1, 'name'=>'b'), array('id'=>2, 'name'=>'a'), array('id'=>3), 'name'=>'c')

 $newarray = array();
 foreach ($array as $key => $item) {
     $newarray[$item['name']] = $item;
 }

  ksort($newarray);
于 2013-06-27T23:05:46.227 に答える