PHP-php将两个一维数组合并,分别将这两个数组的值,作为新数组的keys和value,要求不删除重复的数字
php中的array_combine会删除相同的值,count($a)=4,count($b)=4,count($c)却是3如
$a=array(1,2,4,1);
$b=array(a1,a2,a3,a4);$c=array_combine($a,$b)后出现:
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(4) [3]=> int(1) }
array(4) { [0]=> string(2) "a1" [1]=> string(2) "a2" [2]=> string(2) "a3" [3]=> string(2) "a4" }
array(3) { [1]=> string(2) "a4" [2]=> string(2) "a2" [4]=> string(2) "a3" }
少了一个数字1,如何才能原版的输出,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
foreach吧。。。。
首先你要知道一个数组的key应该是唯一的,而你的做key的数组$a=array(1,2,4,1)里面的值并不是唯一的,而是有2个1,这样在合并的时候就会冲突,除非你有冲突的解决方案,否则一个数组中不可能出现$a[1] = a1,又出现$a[1] = a4的情况,所以你说的不现实。
一般来说解决的方案无非是
1、加上修饰例如 $a[1_0] = a1, $a[1_1] = a4
2、变成多维数组 $a[1] = array(a1, a4)
array_combine 这个不行,用另一个 array_merge。
你怎么看?