看看这段代码:

$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不能这样工作)


当前回答

将值压入数组会自动为其创建一个数字键。

当向数组添加键-值对时,您已经拥有键,不需要为您创建一个键。将键推入数组是没有意义的。只能设置数组中特定键的值。

// no key
array_push($array, $value);
// same as:
$array[] = $value;

// key already known
$array[$key] = $value;

其他回答

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

你必须使用

$arrayname[indexname] = $value;

佩卡就是这么说的…

或者,你也可以像这样使用array_merge:

array_merge($_GET, array($rule[0] => $rule[1]));

但我更喜欢Pekka的方法,因为它更简单。

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

$intial_content = array();

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

简单的方法:

$GET = array();    
$key = 'one=1';
parse_str($key, $GET);

http://php.net/manual/de/function.parse-str.php

array_push($arr, ['key1' => $value1, 'key2' => value2]);

这工作得很好。 在数组中创建键及其值