PHP在不更改其他数组数字键的情况下向数组开头添加元素
由于PHP>5.4版,不再可以使用“+”组合2个数字键数组。在不更改键的情况下组合2个数字键数组的任何替代方法?比如说PHP在不更改其他数组数字键的情况下向数组开头添加元素,php,arrays,Php,Arrays,由于PHP>5.4版,不再可以使用“+”组合2个数字键数组。在不更改键的情况下组合2个数字键数组的任何替代方法?比如说 myarray1 = [0 => '-']; myarray2 = [8 => 'CUACA BURUK' , 3 => 'JALAN SESAK' , 2 => 'KEMALANGAN' , 7 => 'KENDERAAN ROSAK' , 6 =&
myarray1 = [0 => '-'];
myarray2 = [8 => 'CUACA BURUK' ,
3 => 'JALAN SESAK' ,
2 => 'KEMALANGAN' ,
7 => 'KENDERAAN ROSAK' ,
6 => 'KURSUS/BENGKEL/SEMINAR' ,
9 => 'LAIN-LAIN' ,
4 => 'LAWATAN TAPAK/KERJA LUAR' ,
5 => 'MESYUARAT',
];
我想创建一个组合框,第二个数组是我从数据库中获取的数组,我想为用户添加一个空白选项。我希望在合并2数组时保留键和元素。如果我使用数组合并,它将更改键。由于您只想向数组中添加一个元素,我建议从数据库中填充一个数组,然后使用元素分配来创建-元素,如下所示:
$options = [ /* Values from database */ ];
$options[0] = '-';
因为您只想向数组中添加一个元素,所以我建议从数据库中填充一个数组,然后使用元素分配来创建-元素,如下所示:
$options = [ /* Values from database */ ];
$options[0] = '-';
我不知道你为什么这么想
$myarray1+$myarray2
在PHP中一直是一个联合体。这种行为从未改变。然而,union和数组\u merge
做的是两件截然不同的事情$myarray1+$myarray2
将从$myarray2
向$myarray1
添加元素,$myarray1
中不存在谁的密钥array\u merge($myarray1,$myarray2)
将所有元素合并在一起如果键是数字键,则覆盖字符串键
所以在你上面的例子中
<?php
$myarray1 = [0 => '-'];
$myarray2 = [
8 => 'CUACA BURUK',
3 => 'JALAN SESAK',
2 => 'KEMALANGAN',
7 => 'KENDERAAN ROSAK',
6 => 'KURSUS/BENGKEL/SEMINAR',
9 => 'LAIN-LAIN',
4 => 'LAWATAN TAPAK/KERJA LUAR',
5 => 'MESYUARAT'
];
$newArray = $myarray1 + $myarray2;
var_dump($newArray);
从(用3v4l.org测试)开始,我不知道为什么会这样想
$myarray1+$myarray2
在PHP中一直是一个联合体。这种行为从未改变。然而,union和数组\u merge
做的是两件截然不同的事情$myarray1+$myarray2
将从$myarray2
向$myarray1
添加元素,$myarray1
中不存在谁的密钥array\u merge($myarray1,$myarray2)
将所有元素合并在一起如果键是数字键,则覆盖字符串键
所以在你上面的例子中
<?php
$myarray1 = [0 => '-'];
$myarray2 = [
8 => 'CUACA BURUK',
3 => 'JALAN SESAK',
2 => 'KEMALANGAN',
7 => 'KENDERAAN ROSAK',
6 => 'KURSUS/BENGKEL/SEMINAR',
9 => 'LAIN-LAIN',
4 => 'LAWATAN TAPAK/KERJA LUAR',
5 => 'MESYUARAT'
];
$newArray = $myarray1 + $myarray2;
var_dump($newArray);
从(使用3v4l.org测试)开始的所有内容中。但是有些混淆:
$myarray2[0]='-'
似乎是您所需要的全部,但是呢?有点困惑:$myarray2[0]='-'代码>似乎就是你所需要的一切,那怎么办?