合并数组的两个字段值

3
我有一个数组,想要将其中两个字段的值合并到一个字段中。 需要 链接 = 链接 + 脚注
  Array
    (
        [title] => CBS Blocks Time
        [link] => http://techcrunch.com/2013/08/02/cbs-blocks-time-warner-cable-subscribers-from-watching-full-episodes-on-cbs-com/
        [pubDate] => Fri, 02 Aug 2013 00:00:00 +0000
        [dc_creator] => Ryan Lawler
        [dc_language] => en
        [dc_format] => text/html
        [footnote] => Array
            (
                [0] => http://www.twcableuntangled.com/2013/08/twc-removes-cbs-programming/
                [1] => https://twitter.com/CBS
                [2] => https://twitter.com/TWC
                [3] => http://CBS.com
                [4] => https://twitter.com/TWC
                [5] => http://twitter.com/#!/brianstelter/status/363435685249687552
                [6] => http://www.techmeme.com/101016/p12#a101016p12
            )
    )

需要输出
Array
(
    [title] => CBS Blocks Time
    [link] => Array
        (
            [0] => http://techcrunch.com/2013/08/02/cbs-blocks-time-warner-cable-subscribers-from-watching-full-episodes-on-cbs-com/
            [1] => http://www.twcableuntangled.com/2013/08/twc-removes-cbs-programming/
            [2] => https://twitter.com/CBS
            [3] => https://twitter.com/TWC
            [4] => http://CBS.com
            [5] => https://twitter.com/TWC
            [6] => http://twitter.com/#!/brianstelter/status/363435685249687552
            [7] => http://www.techmeme.com/101016/p12#a101016p12
        )
    [pubDate] => Fri, 02 Aug 2013 00:00:00 +0000
    [dc_creator] => Ryan Lawler
    [dc_language] => en
    [dc_format] => text/html
)

这是我的方法。
    $result = array();
foreach($item as $val){
    foreach($item['footnote'] as $val1){
        $result['link'] = $val1;
    }
}
pr($result);

那你都尝试了什么呢?还是只是希望别人替你完成工作? - Mark Baker
发布你的尝试通常会有所帮助。 - Amal Murali
这只是两行非常简单的代码,可以实现你想要的功能。请展示你的代码,我们或许能够解释为什么它不能工作并提供修复方法;但是SO不是一个免费的编程服务。 - Mark Baker
@MarkBaker,我已经粘贴了我的代码。由于网络连接问题,它发布得比较晚...对此我很抱歉... - Naresh
@PuzzledBoy 如果你想知道为什么你的代码没有起作用,那是因为对于每个脚注,你都通过将其设置为单个“footnote”值来重置了“link”值。 - h2ooooooo
@h2ooooooo,谢谢,我已经拿到ID了。 - Naresh
3个回答

2
$array['link'] = array_merge(array($array['link']), $array['footnote']);
unset($array['footnote']);
print_r($array);

1
倾向于因其使用仅两行代码而加一,但因 OP 没有展示任何尝试的证据而对答案进行“喂奶”而扣一分……最终决定简单地点个赞。 - Mark Baker
@MarkBaker,我已经粘贴了我的代码。由于网络连接问题,它发布得比较晚...对此我很抱歉... - Naresh
@Puzzled Boy - 嗯,Pé的答案给了你一个更干净、更高效的方法。 - Mark Baker

2
这应该很简单:
$array['footnote'][] = $array['link'];
$array['link'] = $array['footnote'];
unset($array['footnote']);

1
foreach($array as $key=>$value) {
  if ($key == 'link') {
    $array[$key] = $array['footnote'];
    $array[$key][] = $value;  
    unset($array['footnote']);
    continue;
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接