繁体   English   中英

连接数组在循环PHP

[英]Concatenate array on loop php

我有这个数组

[0] => Array
        (
            [0] => My name
            [1] => is
            [2] => John
        )

[1] => Array
        (
            [0] => My name is Jane
        )

如何实现这种输出,请参见下文。 如果数组数大于一,我想将它们合并为一个。

[0] => Array
        (
            [0] => My name is John
        )

[1] => Array
        (
            [0] => My name is Jane
        )

这是我的代码,但是没有用

foreach ($myArr as $key => $value) {
    if (count($myArr[$key]) > 1) {
        foreach ($value as $k => $v) {
            $myArr[$key] .= $v; 
        }
    }
}

谢谢

为什么不使用内爆?

$data = [['my name', 'is', 'John'],['my name is Jane']];
$results = [];
foreach ($data AS $id=>$datum)
    if (count($datum) > 1)
        $results[$id] = implode($datum, ' ');
    else
        $results[$id] = $datum[0];

结果:

array(2) {
  [0]=>
  string(15) "my name is John"
  [1]=>
  string(15) "my name is Jane"
}

我想是这样的:

foreach ($myArr as $key => $value) {
    if (count($myArr[$key]) > 1) {
        $myArr[$key][0] = '';  
        foreach ($value as $k => $v) {
            $myArr[$key][0] .= $v; 
        }
        array_splice($myArr[$key], 1, count($myArr[$key])-1);
    }
}

我想是这样的:

$ary[0] = Array("My name","is","John");
$ary[1] = Array( "My name is Jane" );
$i=0;       
foreach ($ary as $ar_item)  {
    $merged="";
foreach  ($ar_item as $ar_subitem)  
{
    $merged=$merged.$ar_subitem." ";
}
$ary[$i]=$merged;
$i++;
}
var_dump($ary);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM