2009-09-07 50 views
8

有没有一种快速方法(现有方法)将数组元素连接成字符串''作为分隔符?具体来说,我正在寻找方法的单行更换下列程序:PHP:将数组元素连接成字符串'',作为分隔符

//given ('a','b','c'), it will return 'a,b,c' 
private static function ConstructArrayConcantenate($groupViewID) 
{ 
    $groupIDStr=''; 
    foreach ($groupViewID as $key=>$value) { 
     $groupIDStr=$groupIDStr.$value; 
     if($key!=count($groupViewID)-1) 
      $groupIDStr=$groupIDStr.','; 
    }  

    return $groupIDStr; 
} 

回答

35

这正是这个PHP implode() fu nction是为了。

尝试

$groupIDStr = implode(',', $groupViewID); 
+0

非常好。有没有'implode'的变体,但是从'$ groupViewID [3]'开始并且到最后?谢谢! – Olie 2015-09-17 17:57:10

+1

你需要做的是创建一个新的数组,其中包含从'$ groupViewID [3]'到最后的所有内容,并将其提供给爆破。在上面的例子中,你可以用'array_slice($ groupViewID,3)'替换'$ groupViewID'。 – Artelius 2015-09-21 09:07:31

+0

这正是我所寻找的;谢谢! :) – Olie 2015-09-21 14:33:29

6

implode()

$a = array('a','b','c'); 
echo implode(",", $a); // a,b,c 
6
$arr = array('a','b','c'); 
$str = join(',',$arr); 

加入是破灭的别名,但我更喜欢它,因为它更有意义,那些从Java或Perl背景(及其他)。

+0

即使连接也是正确的,我认为大多数PHP开发人员习惯于看到内部爆发。 :) – carl 2009-09-07 00:54:29

+1

@Carl Vondrick - 使用join()IMO的更多理由,但是我可以理解PHP开发人员会更喜欢使用implode(),因为它*会*更酷。 – karim79 2009-09-07 00:57:53

1

implode()函数是执行此操作的最佳方法。此外,对于相关主题的动摇,可以使用explode()函数从以下文本中创建数组:

$ text = '18:09:00'; $ t_array = explode(':',$ text);

1

甚至可以使用implode()甚至是空的分隔符:implode(' ', $value);很方便。

相关问题