Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Łączenie elementów w pętli
Forum PHP.pl > Forum > Przedszkole
-Kermit-
W pętli for przy każdym przejściu sprawdzam wartość:

  1. $cnt=$t[0][$a];


Przy 10 przejściach mam 10 różnych wartości $cnt
Chciałbym do jednej zmiennej zapisać te kolejne 10 wartości oddzielonych przecinkiem.
Jak to zrobić ?

Implode ?

Próbowałem to składać:
  1. $cnt.=$cnt[0][$a].","

ale wtedy przecinek mam tylko na końcu (lub na początku).
Quantum
Tak, do tego jest właśnie implode.
w pętli
  1. array_push($cnt, $t[0][$a]);
a przy wyświetlaniu:
  1. implode(',', $cnt);
bastard13
  1. $cnt = '';
  2. foreach ($smthing as $smthing)
  3. {
  4. //some code
  5. $cnt .= $t[0][$a] . ",";
  6. //some code once again:P
  7. }
  8. $cnt = trim($cnt,',');

lub:
  1. $cnt = array;
  2. foreach ($smthing as $smthing)
  3. {
  4. //some code
  5. $cnt[] = $t[0][$a];
  6. //some code once again:P
  7. }
  8. $cnt = implode(',', $cnt);
-Kermit-
Hmm...
Wersja z:
  1. array_push($cnt, $t[0][$a]);

nie działa.

Print_r($cnt) nic mi nie zwraca. Zmienna jest pusta.
-Kermit-
Udało się złożyć array_push, print_r($cnt) zwraca:

  1. [0] => p
  2. sh
  3. bo
  4. lo
  5. co
  6. qu
  7. cl
  8. da
  9. 19
  10. di
  11. )


Jednak użycie
  1. echo implode(',', $cnt);

Co prawda wyświetla wszystkie elementy, ale nie dodaje przecinka.
Nie wiem dlaczego, może chodzi o jakieś ukryte spacje, lub znaki nowej linii, ale co to by zmieniało, przecinki i tak powinny być ?
kontur
  1. $cnt='';
  2. for($i=0;$i<count($t[0]);$i++)
  3. {
  4. $cnt.=trim(t[0][$i]).',';
  5. }
  6.  
  7. //a teraz zeby na samym koncu nie bylo przecinka
  8. $lnth=strlen($cnt)-1;
  9. echo substr($cnt, 0, $lnth);
  10.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.