连接用逗号分隔的字符串,但如果字符串为空,逗号不应在开头


concatenate the strings separated by comma but if the string is empty comma should not be in the beginning

我有3个字符串:

$string1=1,2,3,4,5,6
$string2=7,8,9
$string3=11,12

我想把上面用逗号分隔的字符串连接起来。

期望输出:

$string=1,2,3,4,5,6,7,8,9,11,12

由于以上都是字符串,我不能使用IMPLODE(),也不能使用(.)串联运算符,因为我希望字符串由(,)(即逗号)分隔。

$string = $string1 . "," . $string2 . "," . $string3;

感谢所有人,我得到了解决方案,但上面的任何字符串也可以是空的。这意味着如果$string 1是空的,我将有

$string =,7,8,9,11,12

但在任何情况下,我都不能在开头使用逗号。

输出应该是

$string =7,8,9,11,12

如何实现期望的输出?

普通感染应该可以正常工作:

$string = $string1 . "," . $string2 . "," . $string3;

或更紧凑:

$string = "{$string1},{$string2},{$string3}";

您可以使用implode(),但需要先使用explode(',', $string1);。不过,根据您的描述,简单的串联就足够了。

编辑

一开始连逗号都用不起。

然后删除它:

if( $string[0] === ',' ) {
   $string = substr($string,1);
}
$string=$string1.",".$string2.",".$string3;
$del = ',';
$res = array_merge(explode ( $del , $string1 ),explode ( $del , $string2 ),explode ( $del , $string3 )); 
var_dump(implode($del,$res));

虽然答案已经给出,但我认为这个也非常适合您的所有要求如果开头、结尾或中间有逗号,它就会起作用。我希望如此:)

public function verywell()
{
    $string1='1,2,3,4,5,6,,,,,,,';
    $string2=',,,,,,,,7,,9';
    $string3='10,11,,,,,,,,12';
    $arr1=  explode(',', $string1);
    $arr2=  explode(',', $string2);
    $arr3=  explode(',', $string3);
    $val=  array_merge($arr1,$arr2,$arr3);
    foreach($val as $key=>$value)
    {
        if($value=='')
        {
            unset($val[$key]);
        }
    }
       echo implode(',',$val);
}