看看这段代码:
$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不能这样工作)
当前回答
我通常这样做:
$array_name = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
其他回答
我写了一个简单的函数:
function push(&$arr,$new) {
$arr = array_merge($arr,$new);
}
这样我就可以很容易地“upsert”新元素:
push($my_array, ['a'=>1,'b'=>2])
用于添加到第一个位置的键和值
$newAarray = [newIndexname => newIndexValue] ;
$yourArray = $newAarray + $yourArray ;
将值压入数组会自动为其创建一个数字键。
当向数组添加键-值对时,您已经拥有键,不需要为您创建一个键。将键推入数组是没有意义的。只能设置数组中特定键的值。
// no key
array_push($array, $value);
// same as:
$array[] = $value;
// key already known
$array[$key] = $value;
array_push($arr, ['key1' => $value1, 'key2' => value2]);
这工作得很好。 在数组中创建键及其值
可以使用联合运算符(+)组合数组,并保留所添加数组的键。例如:
<?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的文档。