2012-01-03 12 views
1

この配列を日付でソートしようとしていますが、配列がマージされていて、2つの異なるタイプの日付があります。マルチプル値でPHP配列をソート

私はこの配列は、期日までに全体配列をソートしたいと日付を掲示したが、配列のように順番に出てくる
[0] => Object 
     [Something] => hey 
     [date]=>2010-01-03 
[1] => Object 
     [something] => heyagain 
     [somethingelse] => heythere 
     [posted_date] => 2011-08-22 

:(ARRAY2、日付2)で例えば

Array1=>(date1,date2,date3) Array2=>(date1,date2,date3) 

ARRAY1(前のかもしれ、date1)、それはソートしません。私はarray_multisort($merge, SORT_NUMERIC, $arg, 'posted_date', SORT_DESC, 'date', SORT_DESC)といくつかの他のを試してみましたが、私はそれを動作させることはできません

Output=>Array2(date1),Array2(date2),Array1(date1),Array2(date3),Array1(date2),Array1(date3 

見てみたいです。私はこれが誰を混乱させないことを願っています。

+0

()'と 'array_mapを()' – Minras

答えて

1

array_multisortを使用するには、まず複数の配列を作成する必要があります。ソートしたいプロパティにアクセスし、それらを別の配列にラップします。

manual pageは、これを行う方法やその良い例を示しています。同様に参照してください

array_multisort($merge, SORT_NUMERIC, $arg, 'posted_date', SORT_DESC, 'date', SORT_DESC); 

を:しかし、文字列だけでは動作しませんSort data of Php array by values of another array

私はあるarray_walk `見たい
+0

マルチソート私はそれらを好きなよう配列をソートしますが、私の結果はまだArray1からArray2に順番に並んでいます。彼らは同じアレイにいなければならず、それらを混合するようにソートしなければなりません。 – tiggles

+0

'[0] =>オブジェクト'は 'posted_date'を持っていません、' [1] =>オブジェクト 'は' date'を持っていません。この場合、あなたがソートしたいのであれば、あなたはあなたの質問にその部分を落としましたか? – hakre

+0

[0] =>オブジェクトに投稿された日付がありません。 Array1には「posted_date」があり、Array2には「date」があります。これらはマージされ、日付のキー名が異なります。私はdbから 'posted_date' AS 'date'を選択しようとしましたが、zendはそれを持っていないか、おそらく私のエラーです。 – tiggles