2012-12-06 137 views
0

基本上我想創建一個函數,該函數將依次創建基於另一個函數的多維數組。這裏的數組的我需要創建格式(最終結果):如何創建一個函數,該函數將基於另一個數組創建多級數組

'options' => array (
     'one' => array (
      'label' => 'Option One', 
      'value' => 'one' 
     ), 
     'two' => array (
      'label' => 'Option Two', 
      'value' => 'two' 
     ), 
     'three' => array (
      'label' => 'Option Three', 
      'value' => 'three' 
     ) 
    ) 

這將需要通過一個函數中使用已創建另一個數組存儲WordPress的類別創建:

$categories = get_categories('hide_empty=0&orderby=name'); 
$wp_cats = array(); 
foreach ($categories as $category_list) { 
     $wp_cats[$category_list->cat_ID] = $category_list->cat_name; 
}  

而且這裏是我寫的嘗試我所描述的實現代碼,但不能得到它的工作:

function wcat2() { 
    $i = 0; 
    $categories = get_categories(); 
    foreach($categories as $category) { 
     $i++; 
     array (
     $i => array (
      $category->slug => $category->slug, 
      $category->term_id => $category->term_id 
     ), 
     ); 
    } 
} 

我失去了我的任何想法?幫助將不勝感激。

更新:這是什麼,我需要一個例證: descriptin 1

description 2

+0

對於初學者,您並不是將數組保存到任何變量。 –

回答

1

也許是這樣的:

function wcat2() { 
    $out = array(); 
    $categories = get_categories(); 
    foreach($categories as $category) { 
     $out[$category->term_id] = array(
      'label' => $category->slug, 
      'value' => $category->term_id 
     ); 
    } 
    return array('options'=>$out); 
} 
print_r(wcat2()); 

創建一個空白變量$出來,通過類別和在每次循環循環以所需的格式附加一個新數組。我不確定哪個是關於slug/term_id的,所以你可能需要切換這些。

+0

嗨喬納森。謝謝你的幫助。它確實有效,但陣列沒有我需要的所有元素。我已經添加了一張圖片來說明我需要哪個數組以及哪個元素應該去哪裏。 – WagnerMatosUK

+0

我相信我確實在那裏有一個額外的數組。現在檢查。這應符合您的要求輸出。然而,正如我所說的,在$ category下,我不知道有哪些字段,我只是根據您編寫的代碼猜測。如果slug/term_id不在正確的位置(或不是正確的屬性),您需要修復它們,因爲我不知道slug/term_id是指什麼。 –

+0

另外,你說第一個鍵需要是數字1,2,3,但在所有圖像中它顯示「一」,「二」,「三」作爲鍵(文本,而不是數字)。 –

相關問題