關聯數組我一直在試圖將項目推到一個關聯數組是這樣的:推項目在PHP
$new_input['name'] = array(
'type' => 'text',
'label' => 'First name',
'show' => true,
'required' => true
);
array_push($options['inputs'], $new_input);
然而,不是「名稱」作爲重點增加了許多。還有另一種方法可以做到嗎?
關聯數組我一直在試圖將項目推到一個關聯數組是這樣的:推項目在PHP
$new_input['name'] = array(
'type' => 'text',
'label' => 'First name',
'show' => true,
'required' => true
);
array_push($options['inputs'], $new_input);
然而,不是「名稱」作爲重點增加了許多。還有另一種方法可以做到嗎?
$options['inputs']['name'] = $new_input['name'];
有助於解決一些問題+1 – 2016-08-13 16:31:33
$new_input = array('type' => 'text', 'label' => 'First name', 'show' => true, 'required' => true);
$options['inputs']['name'] = $new_input;
WebbieDave的解決方案會奏效。如果你不希望覆蓋任何可能已經在「名稱」,你也可以做這樣的事情:
$options['inputs']['name'][] = $new_input['name'];
如果您不希望保留所有相關內容,例如而不需要推動其他編號的數組。看看@Steven H下面 – brianlmerritt 2017-08-31 09:25:24
如果$new_input
可能包含不止一個「名」元素越多,你可能要使用array_merge
。
$new_input = array('name'=>array(), 'details'=>array());
$new_input['name'] = array('type'=>'text', 'label'=>'First name'...);
$options['inputs'] = array_merge($options['inputs'], $new_input);
代替array_push(),使用array_merge()
$existing_array = array('a'=>'b', 'b'=>'c');
$new_array = array('d'=>'e', 'f'=>'g');
array_merge($existing_array, $new_array);
其返回得到的陣列追加初始陣列中在這種情況下$existing_array
。
和產生的陣列將
array('a'=>'b', 'b'=>'c','d'=>'e', 'f'=>'g')
請仔細閱讀本link,要注意可能出現的問題。
其實應該是 $ existing_array = array('a'=>'b','b'=>'c'); $ new_array = array('d'=>'e','f'=>'g'); $ result = array_merge($ existing_array,$ new_array); – 2013-08-29 02:21:11
收集輸出是一種常識。我只是在說這個主意。問候 – 2013-08-29 07:44:03
柯蒂斯的回答非常接近我所需要的,但我稍微改變了它。
在那裏他用:
$options['inputs']['name'][] = $new_input['name'];
我用:
$options[]['inputs']['name'] = $new_input['name'];
這裏是我的實際代碼使用查詢從DB:
while($row=mysql_fetch_array($result)){
$dtlg_array[]['dt'] = $row['dt'];
$dtlg_array[]['lat'] = $row['lat'];
$dtlg_array[]['lng'] = $row['lng'];
}
謝謝!
這是一個很酷的功能
function array_push_assoc($array, $key, $value){
$array[$key] = $value;
return $array;
}
只需使用
$myarray = array_push_assoc($myarray, 'h', 'hello');
只要改變幾個片段(使用array_merge功能): -
$options['inputs']=array_merge($options['inputs'], $new_input);
你可以嘗試。
$options['inputs'] = $options['inputs'] + $new_input;
無法將數組推入另一個數組。我試過所有這些選項,合併只是添加了數組。我用一個類解決了我的問題。 – 2017-06-05 23:29:21