用PHP连接字符串的最佳方法

时间:2011-11-09 16:47:25

标签: php string concatenation

我需要连接一个不确定数量的字符串,我想在两个相邻的字符串之间留一个空格。像a b c d e f一样。

此外,我不想要任何前导或尾随空格,在PHP中执行此操作的最佳方法是什么?

6 个答案:

答案 0 :(得分:30)

你的意思是$str = implode(' ', array('a', 'b', 'c', 'd', 'e', 'f'));

答案 1 :(得分:4)

$strings = array( " asd " , NULL, "", " dasd ", "Dasd  ", "", "", NULL );

function isValid($v){
return empty($v) || !$v ? false : true;
}

$concatenated = trim( implode( " ", array_map( "trim", array_filter( $strings, "isValid" ) ) ) );

//"asd dasd Dasd"

答案 2 :(得分:3)

function concatenate()
{
    $return = array();
    $numargs = func_num_args();
    $arg_list = func_get_args();
    for($i = 0; $i < $numargs; $i++)
    {
        if(empty($arg_list[$i])) continue;
        $return[] = trim($arg_list[$i]);
    }
    return implode(' ', $return);
}

echo concatenate("Mark ", " as ", " correct");

答案 3 :(得分:3)

简单的方法是:

$string="hello" . " " . "world";

答案 4 :(得分:1)

考虑到你将所有这些字符串收集到一个数组中,一种方法可以通过一个foreach语句来完成:

$res = "";
foreach($strings as $str) {
   $res.= $str." ";
}

if(strlen($res > 0))
    $res = substr($res,-1);
通过这种方式,您可以控制流程以便将来进行更改。

答案 5 :(得分:1)

我只想添加到deviousdodo的答案中,如果有一个案例表明数组中有空字符串,并且您不希望这些字符串出现在连接字符串中,例如&#34 A,b ,, d ,, F&#34;那么最好使用以下内容:

$ str = implode(&#39;,&#39;,array_filter(数组(&#39; a&#39;,&#39; b&#39;,&#39;&#39;,& #39; d&#39;,&#39;&#39;,&#39; f&#39;)));