PHP-php将两个一维数组合并,分别将这两个数组的值,作为新数组的keys和value,要求不删除重复的数字

发布于 2016-12-18 03:32:54 字数 462 浏览 1078 评论 3

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2017-10-17 07:34:48

foreach吧。。。。

泛泛之交 2017-05-21 14:15:26

首先你要知道一个数组的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)

夜无邪 2017-02-04 05:14:35

array_combine 这个不行,用另一个 array_merge。

你怎么看?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文