Php 内联数组连接?
是否可以使用内联代码(即在数组声明内部)连接数组? 例如:Php 内联数组连接?,php,arrays,concatenation,inline,Php,Arrays,Concatenation,Inline,是否可以使用内联代码(即在数组声明内部)连接数组? 例如: function get_array() { return array('four' => 4, 'five' => 5); } $arr = array( 'one' => 1, 'two' => 2, 'three' => 3, get_array() ); var_dump($arr); 将导致: Array( [one] => 1
function get_array() {
return array('four' => 4, 'five' => 5);
}
$arr = array(
'one' => 1,
'two' => 2,
'three' => 3,
get_array()
);
var_dump($arr);
将导致:
Array(
[one] => 1
[two] => 2
[three] => 3
[0] => Array(
[four] => 4
[five] => 5
)
)
鉴于预期结果将是:
Array(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
[five] => 5
)
使用。这是一个额外的步骤,但由于您不能在数组声明期间执行此操作,因此这是下一个最好的方法
$new_array = array_merge($arr, array('four' => 4, 'five' => 5));
print_r($new_array);
Array ( [one] => 1 [two] => 2 [three] => 3 [four] => 4 [five] => 5 )
使用。这是一个额外的步骤,但由于您不能在数组声明期间执行此操作,因此这是下一个最好的方法
$new_array = array_merge($arr, array('four' => 4, 'five' => 5));
print_r($new_array);
Array ( [one] => 1 [two] => 2 [three] => 3 [four] => 4 [five] => 5 )
谢谢,但是可以在初始数组声明中这样做吗?@YoavKadosh:不可以。您也可以尝试+运算符:$array=array'one'=>1,'two'=>2+array'three'=>3;好吧,这就是我想知道的。@RocketHazmat这正是我想要的。如果你愿意,你可以把它作为一个答案贴出来,我会接受的。对不起,约翰…:@YoavKadosh:这与array_merge是一样的,只是它在复制密钥时有不同的行为。谢谢,但是在初始数组声明中可以这样做吗?@YoavKadosh:不可以。您也可以尝试+运算符:$array=array'one'=>1,'two'=>2+array'three'=>3;好吧,这就是我想知道的。@RocketHazmat这正是我想要的。如果你愿意,你可以把它作为一个答案贴出来,我会接受的。对不起,约翰…:@YoavKadosh:这与array_merge是一样的,只是当涉及到重复键时,它有不同的行为。