Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z foreach
Dawka
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 17.12.2006

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z pętlą foreach, mianowicie nie wiem jak przekazać dalej dane, które ona wypisze. Konkretnie:

  1. foreach ($once[1] as $once) {
  2. echo $once;
  3. }
  4. echo $once;


Pętla ma za zadanie wypisać zdania. I pierwszego echo (te w pętli foreach) działa prawidłowo. Wypisuje po kolei zdania, póki się nie skończą. Natomiast drugie wypisuje tylko jedno zdanie, a gdy zamiast $once dam $once[0], albo $once[1] wypisuje tylko daną ilość liter. Ma ktoś pomysł, jak przekazać dane z pętli poza nią?

Z góry dzięki, Pozdrawiam

Ten post edytował Dawka 6.09.2009, 09:38:16
Go to the top of the page
+Quote Post
Void
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 15
Dołączył: 2.02.2007

Ostrzeżenie: (0%)
-----


Ale co tam chcesz wypisać w tym drugim echo? Jeszcze raz wszystkie elementy, które wypisałeś w foreach, czy ostatni? W każdym razie zmienna $once ma tylko zakres lokalny pętli foreach, poza nią nie jest dostępna. Musisz więc zdefiniować jakąś zmienną poza tym zakresem i do niej przekazać wartość, którą chcesz wypisać.
  1. $zmienna;
  2.  
  3. foreach ($once[1] as $once) {
  4. echo $once;
  5. $zmienna = $once;
  6. }
  7. echo $zmienna


Ten post edytował Void 6.09.2009, 09:45:24
Go to the top of the page
+Quote Post
Dawka
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 17.12.2006

Ostrzeżenie: (0%)
-----


W tym drugim echo chcę wypisać jeszcze raz wszystkie elementy, które wypisałem w foreach. Właściwie to muszę je po prostu dodać do bazy mysql, ale chcę wszystkie razem do jednej, a nie każdą oddzielnie (bo tak się dzieje, gdy chcę to zrobić w pętli).

Powyższe rozwiązanie nie działa - wypisuje się tylko jedno zdanie, nie wszystkie.
Go to the top of the page
+Quote Post
Void
post
Post #4





Grupa: Zarejestrowani
Postów: 112
Pomógł: 15
Dołączył: 2.02.2007

Ostrzeżenie: (0%)
-----


Nie działa bo przy każdym obiegu pętli nadpisuje się jej wartość (a nie dopisuje). Ciężko wywnioskować dlaczego? (IMG:style_emoticons/default/smile.gif)
Użyj operatora .= zamiast =
Go to the top of the page
+Quote Post
Dawka
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 17.12.2006

Ostrzeżenie: (0%)
-----


Działa, dziękuję (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:52