2013-02-07 52 views
0

首先,我的分組工作,但我覺得它很髒。需要有人讓它看起來更乾淨,更好。 我有以下的foreach需要幫助來分組php陣列,使其更好

$data['new_array'] = array(); //I have to use $data['new_array'] because I need to pass it to template. 
foreach ($get_topics as $topic) { 
    //Is that possible to make these 4 lines shorter? 
    $data['new_array'][$topic['tid']]['tid'] = $topic['tid']; 
    $data['new_array'][$topic['tid']]['title'] = $topic['title']; 
    $data['new_array'][$topic['tid']]['yes'] = $topic['yes']; 
    $data['new_array'][$topic['tid']]['no'] = $topic['no']; 

    //The belows are subarray grouping, it actually works but I need better solutions 
    //$new_array[$topic['tid']]['vid'][$topic['vid']][] = $topic['vid']; 
    //$new_array[$topic['tid']]['vid'][$topic['vid']][] = $topic['yesno']; 
} 
+3

'$ data ['new_array'] [$ topic ['tid']] = $ topic;' –

回答

0

我不會試圖把它縮短,但這裏是你在一個漂亮的版本代碼。

$data['new_array'] = array(); 

foreach ($get_topics as $topic) { 
    $data['new_array'][$topic['tid']] = array(
     'tid' => $topic['tid'], 
     'title' => $topic['title'], 
     'yes' => $topic['yes'], 
     'no' => $topic['no'] 
    ); 
} 

不確定$ topic ['tid']是什麼類型,但使用非連續數字作爲數組鍵時應該小心。

+0

你可以看看這個數組嗎?我發佈了來自查詢的原件,並編輯了我想要的數組。 我仍然不知道如何分組和訪問每個數組。 http://codepad.org/5FxBBrPL – vzhen

+0

你在你的帖子中說「...我的分組正在工作,但我覺得它很髒...」我建議如何讓它看起來更乾淨,因爲這似乎是你唯一的問題。根據你在codepad上發佈的代碼,我沒有得到你所期望的。什麼是__tid__和__vid__?他們應該如何相互關聯? – Mike

+0

是的,它工作,但我不知道如何訪問它們。不知道如何foreach和循環[vid]數組 – vzhen