如何在PHP中合并数组的2个元素?

时间:2014-11-12 11:48:27

标签: php arrays

我想在PHP中合并数组中的2个元素,我该怎么做。请告诉我。

$arr = array('Hello','World!','Beautiful','Day!');  // these is my input

//i want output like 

array('Hello World!','Beautiful Day!');

6 个答案:

答案 0 :(得分:12)

通用解决方案将是这样的:

$result = array_map(function($pair) {
    return join(' ', $pair);
}, array_chunk($arr, 2));

它将成对的单词连接起来,所以第1和第2,第3和第4等等。

答案 1 :(得分:2)

具体到那个案例,它很简单:

$result = array($arr[0].' '.$arr[1], $arr[2].' '.$arr[3]);

更通用的方法是

$result = array();
for ($i = 0; $i < count($arr); $i += 2) {
    if (isset($arr[$i+1])) {
        $result[] = $arr[$i] . ' ' . $arr[$i+1];
    }
    else {
        $result[] = $arr[$i];
    }
}

答案 2 :(得分:1)

如果您的数组未固定为4个元素

$arr = array();
$i = 0;
foreach($array as $v){
  if (($i++) % 2==0)
    $arr[]=$v.' ';
  else {
    $arr[count($arr)-1].=$v;
  }
}

直播:http://ideone.com/VUixMS

答案 3 :(得分:1)

假设您不知道元素的总数,但确实知道它们将始终是偶数(否则您无法加入最后一个元素),您可以简单地以2的步骤迭代$arr

$count = count($arr);
$out=[];
for($i=0; $i<$count; $i+=2;){
    $out[] = $arr[$i] . ' ' .$arr[$i+1];
}
var_dump($out);

答案 4 :(得分:1)

这是:

$arr = array('Hello', 'World!', 'Beautiful', 'Day!');
$result = array();
foreach ($arr as $key => $value) {
  if (($key % 2 == 0) && (isset($arr[$key + 1]))) {
    $result[] = $value . " " . $arr[$key + 1];
  }
}
print_r($result);

答案 5 :(得分:0)

一个简单的解决方案是:

$new_arr=array($arr[0]." ".$arr[1], $arr[2]." ".$arr[3]);