看看这段代码:

$GET = array();    
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */

我正在寻找这样的东西:

print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */

有函数来做这个吗?(因为array_push不能这样工作)


当前回答

可以使用联合运算符(+)组合数组,并保留所添加数组的键。例如:

<?php

$arr1 = array('foo' => 'bar');
$arr2 = array('baz' => 'bof');
$arr3 = $arr1 + $arr2;

print_r($arr3);

// prints:
// array(
//   'foo' => 'bar',
//   'baz' => 'bof',
// );

因此,您可以执行$_GET += array('one' => 1);。

关于联合操作符与array_merge使用的更多信息,请参阅http://php.net/manual/en/function.array-merge.php的文档。

其他回答

嗨,我也有同样的问题,我找到了这个解决方案,你应该使用两个数组,然后将它们结合起来

 <?php

$fname=array("Peter","Ben","Joe");

$age=array("35","37","43");

$c=array_combine($fname,$age);

print_r($c);

?>

参考:w3schools

有点晚了,但如果你不介意嵌套数组,你可以采用这种方法:

$main_array = array(); //Your array that you want to push the value into
$value = 10; //The value you want to push into $main_array
array_push($main_array, array('Key' => $value));

澄清一下, 如果你输出json_encode($main_array),看起来像[{"Key":"10"}]

我通常这样做:

$array_name = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);

不,关联数组没有等价的array_push(),因为没有办法确定下一个键。

你必须使用

$arrayname[indexname] = $value;

这里已经给出了一些很好的例子。只是添加了一个简单的例子,将关联数组元素推到根数值索引索引。

$intial_content = array();

if (true) {
 $intial_content[] = array('name' => 'xyz', 'content' => 'other content');
}