2011-07-24 10 views
-1

後、私は二つの配列、ソート配列

Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
      [title] => art 
     ) 
    [1] => stdClass Object 
     (
      [id] => 4 
      [title] => adsdf 
     ) 
    [2] => stdClass Object 
     (
      [id] => 2 
      [title] => adsdf 
     ) 
    [3] => stdClass Object 
     (
      [id] => 7 
      [title] => adsdf 
     ) 

) 
Array 
(
    [2] => 2 
    [1] => 1 
) 

を持っていると私は二番目の配列の後の最初の配列をソートするオブジェクトはstdClass。 2番目の配列では、キーと値は最初の配列IDと等しくなります。したがって、出力は次のようにする必要があります。

Array 
(
    [0] => stdClass Object 
     (
      [id] => 2 
      [title] => adsdf 
     ) 
    [1] => stdClass Object 
     (
      [id] => 1 
      [title] => art 
     ) 
    [2] => stdClass Object 
     (
      [id] => 4 
      [title] => adsdf 
     ) 
    [3] => stdClass Object 
     (
      [id] => 7 
      [title] => adsdf 
     ) 

) 

答えて

2

あなたはそれのためにarray_multisort[Docs]を使用することができます。

array_multisort($arraySort, $arrayData); 

は、2番目のパラメータとしてソートされた最初とあなたの配列としてソート順の配列を渡します。

ソート配列を事前に作成する必要があるかもしれません。あなたが既に持っているかどうかわからないことが質問からわかります。場合

ない、あなたはデータ配列のすべてを取得したい場合は、ソート配列にID値をエントリ:

$arraySort = array(); 
foreach($arrayData as $key => $obj) 
{ 
    $arraySort[$key] = $obj->id; 
}