2013-08-04 15 views
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); 
+0

Так что вы пробовали, или вы просто надеясь, что кто-то будет делать работу за вас –

+0

нет я попробовал .. –

+0

Проводка ваши попытки обычно помогают. –

ответ

3
$array['link'] = array_merge(array($array['link']), $array['footnote']); 
unset($array['footnote']); 
print_r($array); 
+1

Соблазн сказать +1 для этого в 2 строках кода, -1 для ложной подачи ответа, когда OP не показывает никаких доказательств того, что он сам что-то пробовал ... в конце концов решил просто перевернуть –

+0

@ MarkBaker Я вставил свой код. из-за чистой связи его было поздно отправлено .. извините за это. –

+0

@Puzzled Boy - хорошо ответ Pé дает вам гораздо более чистый и более эффективный метод –

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

ваш код также хорош, но длина и время, затрачиваемые на выполнение. thankx для этого .. –

2

Это должно быть так же просто, как это:

$array['footnote'][] = $array['link']; 
$array['link'] = $array['footnote']; 
unset($array['footnote']); 
Смежные вопросы