我有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
如何实现所需的输出?
答案 0 :(得分:6)
平原连接应该可以正常工作:
$string = $string1 . "," . $string2 . "," . $string3;
或更紧凑:
$string = "{$string1},{$string2},{$string3}";
您可以使用implode()
,但您需要先explode(',', $string1);
。不过,根据你的描述,简单的连接是完全足够的。
修改强>
在开头不能用逗号。
然后删除它:
if( $string[0] === ',' ) {
$string = substr($string,1);
}
答案 1 :(得分:2)
$string=$string1.",".$string2.",".$string3;
答案 2 :(得分:2)
$del = ',';
$res = array_merge(explode ( $del , $string1 ),explode ( $del , $string2 ),explode ( $del , $string3 ));
var_dump(implode($del,$res));
答案 3 :(得分:1)
虽然已经给出了答案,但我认为这个答案也非常适合您的所有要求。如果在开始,结束或之间有逗号,它将起作用。我希望如此: )
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);
}