我一直在尝试将项目推到这样的关联数组中:
$new_input['name'] = array(
'type' => 'text',
'label' => 'First name',
'show' => true,
'required' => true
);
array_push($options['inputs'], $new_input);
但是,不是在“名称”中输入数字。还有另一种方法吗?
Answers:
$options['inputs']['name'] = $new_input['name'];
代替array_push(),使用array_merge()
它将合并两个数组并将它们的项合并到一个数组中。
示例代码-
$existing_array = array('a'=>'b', 'b'=>'c');
$new_array = array('d'=>'e', 'f'=>'g');
$final_array=array_merge($existing_array, $new_array);
它在final_array中返回结果数组。结果数组的结果将是-
array('a'=>'b', 'b'=>'c','d'=>'e', 'f'=>'g')
请查看此链接,以了解可能的问题。
这是一个很酷的功能
function array_push_assoc($array, $key, $value){
$array[$key] = $value;
return $array;
}
只需使用
$myarray = array_push_assoc($myarray, 'h', 'hello');
WebbieDave的解决方案将起作用。如果您不想覆盖任何已经在“名称”处出现的内容,也可以执行以下操作:
$options['inputs']['name'][] = $new_input['name'];
柯蒂斯的答案非常接近我所需要的,但是我做了一点修改。
他在哪里使用:
$options['inputs']['name'][] = $new_input['name'];
我用了:
$options[]['inputs']['name'] = $new_input['name'];
这是我使用数据库查询的实际代码:
while($row=mysql_fetch_array($result)){
$dtlg_array[]['dt'] = $row['dt'];
$dtlg_array[]['lat'] = $row['lat'];
$dtlg_array[]['lng'] = $row['lng'];
}
谢谢!
我用 php5.6
代码:
$person = ["name"=>"mohammed", "age"=>30];
$person['addr'] = "Sudan";
print_r($person)
输出
Array( ["name"=>"mohammed", "age"=>30, "addr"=>"Sudan"] )
$new_input = array('type' => 'text', 'label' => 'First name', 'show' => true, 'required' => true);
$options['inputs']['name'] = $new_input;
你可以试试。
$options['inputs'] = $options['inputs'] + $new_input;
您可以使用array_merge($ array1,$ array2)合并关联数组。例:
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));
输出:
Array ( [0] => red [1] => green [2] => blue [3] => yellow )