Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]problem z prostą tablicą
elglt
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 5.10.2012

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


witam,

  1. $zmienna = 1;
  2. function funkcja()
  3. {
  4. for($i=0; $i<10; $i++)
  5. {
  6. $zmienna= $zmienna+1;
  7. }
  8. }
  9. funkcja();
  10. echo $zmienna;


dlaczego echo wyswietli 1 a nie 11?
i jak moglbym sobie zrobic wyraz z x-gwiazdeczkami poniewaz ponizszy kod tez nie daje efektu:


  1. function funkcja()
  2.  
  3. {
  4. for($i=0; $i<10; $i++)
  5. {
  6. $gwiazdeczki[i] += '*';
  7. }
  8. }
  9. funkcja();
  10.  
  11. echo $gwiazdeczki;
Powód edycji: [Ociu]: bbCode
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
frantic09
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 6
Dołączył: 7.03.2011
Skąd: Kraków

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


Do pierwszego, tak jak pisze Ociu, dodam, że musisz użyć słowa global, żeby przechwycić zmienna globalną w swojej funkcji.

Co do drugiego:
  1. function funkcja()
  2. {
  3. for($i=0; $i<10; $i++)
  4. {
  5. $gwiazdeczki[i] += '*'; //skąd ta zmienna się bierze? masz pojęcie, że tworzysz (niepoprawnie z resztą) tablicę?
  6. }
  7. }
  8. funkcja();
  9. echo $gwiazdeczki;


I jeśli masz tworzyć wyraz z X gwiazdek, to może przekaż tą liczbę do funkcji jako parametr?

  1. function funkcja($x){
  2. //tworzysz pustą zmienną
  3. $tekst = '';
  4.  
  5. //prosty for z X iteracjami
  6. for($i=0; $i<$x; $i++) {
  7. //operatorem konkatenacji tekstów jest KROPA "." a NIE PLUS! Plusa używasz np w Java, Javascript
  8. $tekst .= '*';
  9. }
  10. //funkcja zwróci utworzony tekst
  11. return $tekst;
  12. }
  13.  
  14. echo funkcja(10);
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 01:05