2009-09-07 21 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のための手段です。

参加

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

優れています。 'implode'を行うバリエーションがありますが、' $ groupViewID [3] 'で始まり、最後まで行きますか?ありがとう! – Olie

+1

あなたは '$ groupViewID [3] 'から最後までを含む新しい配列を作成し、それをimplodeに渡す必要があります。上記の例では、 '$ groupViewID'を' array_slice($ groupViewID、3) 'に置き換えることができます。 – Artelius

+0

これはまさに私が探していたものです。ありがとう! :) – Olie

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

joinも正しいとはいえ、ほとんどのPHP開発者はimplodeを見るのに慣れていると思います。 :) – carl

+1

@Car Vondrick - join()IMOを使用する理由は他にありませんが、PHP開発者はimplode()を使用する方が好きです。 – karim79

1

implode()関数はこれを行うための最良の方法です。さらに、関連するトピックの揺れに対して、次のようなテキストから配列を作るためにexplode()関数を使うことができます:

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

1

空の区切り文字でもimplode()を使用することができます:implode(' ', $value);かなり便利です。

関連する問題