2013-07-22 106 views
1

我想知道我必須做的,添加的東西:如何將新元素添加到此類型的數組中?

$setting = array(
    'element' => array(
     array(
      'elelemt_name' => '', 
      'element_path' => '' 
     ), 
    ) 
); 

我想補充的目標是:

array(
     'elelemt_name_two' => '', 
     'element_path_two' => '' 
    ), 

的最終結果將是:

$setting = array(
    'element' => array(
     array(
      'elelemt_name' => '', 
      'element_path' => '' 
     ), 
     array(
      'elelemt_name_two' => '', 
      'element_path_two' => '' 
     ), 
    ), 
); 

catch:$ setting = array();可能是$ a = array();或者$ b = array()或者任何東西,所以我不知道如何在包含數組的變量可以指定任何東西時添加一些東西。

我所知道的是,第一個鍵$ element始終是$ element。所以這部分可以被硬編碼。

我的想法寫像一個功能:

function add_array($type, $array){ 
    if(is_array($array) && is_array($type)){ 
     array_push($type, $array); 
    } 
} 

然後,我可以把它作爲這樣的:

$array = array(
    'element_name_two' => '', 
    'element_path_two' => '' 
) 

add_array($setting['element'], $array);

這是否有道理?還是我做錯了?

回答

0

最簡單的方法就是將它添加。

$setting['element'][] = array('element_name_two' => '','element_path_two' => ''); 

如果您想進行調整的功能,你應該在數組中通過引用傳遞數組的內容。

function add_array(&$type, $array){ 
    if(is_array($array) && is_array($type)){ 
     array_push($type, $array); 
    } 
} 
+0

如果你不知道它是否是「$ setting」,那麼「by refrence」部分會工作,如前所述,它可能是$ a,$ b,$ fdcdf,$ sample ....等等上。它可以是任何東西。 – TheWebs

+0

如果傳遞給函數....所以如果你想在$ a上執行行爲,那麼'add_array($ a,$ newArray);'...它在子數組上也會起作用,add_array( $ setting ['element'],$ newValue);' – Orangepill

+0

謝謝你這是我想要的:D,通過引用一直困惑我 – TheWebs

2

無需重炮:

$setting['element'][] = $new_array; 
        ^^--- short-hand syntax for array_push() 
相關問題