2016-09-02 9 views
-1

私は変数$itemsを持っています。その中に以下のデータがあります。同様のcourse_idを持つphpのグループオブジェクト

Array 
(
    [0] => stdClass Object 
     (
      [course_id] => 8 
      [doc_id] => 85 
      [doc_title] => PDF Notes 
      [doc_price] => 243 
     ) 

    [1] => stdClass Object 
     (
      [course_id] => 6 
      [doc_id] => 73 
      [doc_title] => PDF Notes 
      [doc_price] => 12 
     ) 

    [2] => stdClass Object 
     (
      [course_id] => 6 
      [doc_id] => 75 
      [doc_title] => Audio Topics 
      [doc_price] => 21 
     ) 

    [3] => stdClass Object 
     (
      [course_id] => 6 
      [doc_id] => 77 
      [doc_title] => Video Past Papers 
      [doc_price] => 32 
     ) 

) 

データを分類する必要があります。 course_idがキーになり、同様のcourse_idを持つコースが分類され、そのキーの値になる必要があります。 about配列と同様、[1]、[2]、[3]は同じcourse_idを持つので、forキー=> 6の配列は、doc 73,75,77を持つサブ配列で作成する必要があります。

array => (
    '6' => 'array of docs with course_id 6', 
    '8' => 'array of docs with course_id 8', 
) 

でvar_export

array (
    0 => 
    stdClass::__set_state(array(
    'course_id' => '8', 
    'doc_id' => '85', 
    'doc_title' => 'PDF Notes', 
    'doc_price' => '243', 
)), 
    1 => 
    stdClass::__set_state(array(
    'course_id' => '6', 
    'doc_id' => '73', 
    'doc_title' => 'PDF Notes', 
    'doc_price' => '12', 
)), 
    2 => 
    stdClass::__set_state(array(
    'course_id' => '6', 
    'doc_id' => '75', 
    'doc_title' => 'Audio Topics', 
    'doc_price' => '21', 
)), 
    3 => 
    stdClass::__set_state(array(
    'course_id' => '6', 
    'doc_id' => '77', 
    'doc_title' => 'Video Past Papers', 
    'doc_price' => '32', 
)), 
) 
+0

私たちの答えのために配列を簡単にコピー&ペーストできるように、 'var_export($ items)'出力を提供できますか? –

+0

が追加されました。質問を参照してください –

答えて

3

はこれを試してみてください: 使用get_object_varsを配列にOBJを変換します。

$newarray = array(); 
foreach ($items as $item) 
{ 
    $newarray[$item->course_id][] = get_object_vars($item); 
} 
+0

私はオブジェクトを使用したくないです。私はそれらを単純な配列、 –

+0

get_object_vars関数を使用して配列にobjを変換する – Ish

関連する問題