看看这段代码:

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


当前回答

用于添加到第一个位置的键和值

$newAarray = [newIndexname => newIndexValue] ;

$yourArray = $newAarray + $yourArray ;

其他回答

 $arr = array("key1"=>"value1", "key2"=>"value");
    print_r($arr);

/指纹阵列望远镜(key1”= >“value1”、“key2 = >“value2]

佩卡就是这么说的…

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

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

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

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

$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_push(),因为没有办法确定下一个键。

你必须使用

$arrayname[indexname] = $value;

我写了一个简单的函数:

function push(&$arr,$new) {
    $arr = array_merge($arr,$new);
}

这样我就可以很容易地“upsert”新元素:

push($my_array, ['a'=>1,'b'=>2])