我想在PHP中合并数组中的2个元素,我该怎么做。请告诉我。
$arr = array('Hello','World!','Beautiful','Day!'); // these is my input
//i want output like
array('Hello World!','Beautiful Day!');
答案 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;
}
}
答案 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]);