首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >array_combine()问题

array_combine()问题
EN

Stack Overflow用户
提问于 2015-10-27 02:42:08
回答 2查看 56关注 0票数 1

我有两个数组。一个数组的键是另一个的值。这是代码:

代码语言:javascript
复制
$arr1 = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'pear',
);

$arr2 = array(
    'bird' => 'a',
    'dog' => 'b',
);

我的问题是,如何将两个数组组合在一起,例如:

代码语言:javascript
复制
$arr3 = array(
    'bird' => 'apple',
    'dog' => 'banana',
);

有可能有什么数组函数可以这样做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-27 02:49:54

代码语言:javascript
复制
<?php
$arr3 = array();

foreach ($arr2 as $item => $value) {
  $arr3[$item] = $arr1[$value];
}
print_r($arr3);

不管怎么说都是这样的。

如果你真的想要合并数组,array_merge会做的很好。

票数 1
EN

Stack Overflow用户

发布于 2015-10-27 02:59:02

编辑:这是一种有趣的方法,并与键匹配:

代码语言:javascript
复制
$arr3 = array_combine(array_intersect_key($k = array_flip($arr2), $arr1),
                      array_intersect_key($arr1, $k));

没有密钥匹配的原始

这里有个办法。哪个数组更长并不重要:

代码语言:javascript
复制
$arr3 = array_combine(array_slice(array_keys($arr2), 0, count($arr1)),
                      array_slice($arr1, 0, count($arr2)));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33359110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档