首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按索引位置组合三个数组

按索引位置组合三个数组
EN

Stack Overflow用户
提问于 2012-11-05 16:56:28
回答 2查看 82关注 0票数 1

在几次尝试之后,我找不到一个有效的方法来做到这一点。我目前有一个运行preg_match_all的函数,并返回三个这样的数组;

代码语言:javascript
复制
array(3) {
    ["name"] => 
        array(3) { 
             0 => "Google Chrome 22.0.1229.94",
             1 => "LastPass for Chrome 2.0.7",
             2 => "Chromatic 0.2.3"
        }

    ["link"] => 
        array(3) {
            0 => "/app/mac/32956/google-chrome",
            1 => "/app/mac/42578/lastpass-for-chrome",
            2 => "/app/mac/32856/chromatic"
        }

    ["description"] =>
        array(3) {
            0 => " - Modern and fast Web browser."
            1 => " - Online password manager and form filler for Chrome."
            2 => " - Easily install and updated Chromium."
    }
}

我需要能够像这样组合三个数组;

代码语言:javascript
复制
array(3) {
    array(3) {
        ["name"]        = "Google Chrome 22.0.1229.94",
        ["link"]        = "/app/mac/32956/google-chrome",
        ["description"] = " - Modern and fast Web browser."
    }

    array(3) {
        ["name"]        = "LastPass for Chrome 2.0.7",
        ["link"]        = "/app/mac/42578/lastpass-for-chrome",
        ["description"] = " - Online password manager and form filler for Chrome."
    }

    array(3) {
        ["name"]        = "Chromatic 0.2.3",
        ["link"]        = "/app/mac/32856/chromatic",
        ["description"] = " - Easily install and updated Chromium."
    }
} 

我一直在尝试count( $values )并执行一个for循环来生成新的数组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-05 18:05:04

这是我的观点,对于你的特殊情况,假设你的原始数组是$results

代码语言:javascript
复制
for ($i=0; $i<3;$i++) {
   $combined[$i]['name'] = $results['name'][$i];
   $combined[$i]['link'] = $results['link'][$i];
   $combined[$i]['description'] = $results['description'][$i];
}
票数 2
EN

Stack Overflow用户

发布于 2012-11-05 16:59:31

接下来,我将建议您真正寻找的是preg_match_allPREG_SET_ORDER标志

代码语言:javascript
复制
preg_match_all('/.../', $foo, $bar, PREG_SET_ORDER);

http://php.net/preg_match_all

否则:

代码语言:javascript
复制
$results = array();
foreach ($matches as $key => $values) {
    foreach ($values as $index => $value) {
        $results[$index][$key] = $value;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13228759

复制
相关文章

相似问题

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