2009-09-07 10 views
8

Czy istnieje szybka metoda (istniejąca metoda) Koncentruje element tablicy na łańcuchu z "," jako separatorem? Konkretnie szukam jednej linii metody zastępując następujące rutynowe:PHP: Łączenie elementu tablicy w łańcuch znaków z "," jako separatorem

//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; 
} 

Odpowiedz

35

to właśnie PHP implode() fu nction jest dla.

Spróbuj

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

Doskonały. Czy istnieje wariacja, która robi 'implode', ale zaczyna się od' $ groupViewID [3] 'i idzie do końca? Dzięki! – Olie

+1

Co musisz zrobić, to stworzyć nową tablicę, która zawiera wszystko od '$ groupViewID [3]' do końca i zapewnić to do implodu. W powyższym przykładzie możesz po prostu zastąpić '$ groupViewID' przez' array_slice ($ groupViewID, 3) '. – Artelius

+0

Dokładnie tego szukałem; dzięki! :) – Olie

6

implode()

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

przyłączenia jest aliasem dla implode, jednak ja wolę go jako większy sens dla tych z Java lub Perl tle (i innych).

+0

Mimo że sprzężenie również jest poprawne, myślę, że większość programistów PHP jest przyzwyczajona do oglądania implodu. :) – carl

+1

@Carl Vondrick - jeszcze jeden powód, aby używać join() IMO, ale rozumiem, że programiści PHP woleliby używać metody implode(), ponieważ * działa * bardziej cool. – karim79

1

Funkcja implode() to najlepszy sposób na zrobienie tego. Dodatkowo dla poruszenia pokrewnego tematu możesz użyć funkcji explode() do utworzenia tablicy z następującego tekstu:

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

1

Możesz używać implodu() nawet z pustym ogranicznikiem: implode(' ', $value); całkiem wygodnie.

Powiązane problemy