看看这段代码:
$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不能这样工作)
看看这段代码:
$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])