Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]petla foreach
Forum PHP.pl > Forum > Przedszkole
JakubBab
Czesc,


Robie zadania z petl i natrafilem na jedno takie ktore mnie zagielo. Petla wykonala sie poprawnie (zadanie wykonane) natomiast przy wywolaniu czegokolwiek przez echo (juz po petli) , ta komenda wcina mi sie w petle (dokladnie miedzy druga a trzecia). Mianowicie:

  1.  
  2. $salaries= array('<strong><font color = blue>Salary of MR.A is</font color></strong>'=>"1000$",'<b><font color = blue>Salary of MR.B is</font color></b>'=>"1200$",'<b/><font color = blue>Salary of MR.C is</font color></b>'=>"1300$");
  3.  
  4. foreach ($salaries as $salary =>$wartosc){
  5.  
  6.  
  7.  
  8. echo $w="<table border=2 cellspacing=0 cellpading=0><td>".$salary."</td><td>".$wartosc."</td>";
  9. }
  10.  
  11.  
  12.  
  13. echo "tescik";
  14. ?>


Probowalem dolozyc do tego petle for z inkrementacja - coz, nie wyszlo. Chcialem zakmnac petle poprzez endforeach to wyskakiwal syntex error. Po xx:xx spedzonym nad tym pierdem puke.gif zwracam sie do szanownych kolegow.

Pozdr,
Jakub

Please help.
KsaR
Cytat(JakubBab @ 16.09.2015, 00:14:49 ) *
Czesc,


Robie zadania z petl i natrafilem na jedno takie ktore mnie zagielo. Petla wykonala sie poprawnie (zadanie wykonane) natomiast przy wywolaniu czegokolwiek przez echo (juz po petli) , ta komenda wcina mi sie w petle (dokladnie miedzy druga a trzecia). Mianowicie:

  1.  
  2. $salaries= array('<strong><font color = blue>Salary of MR.A is</font color></strong>'=>"1000$",'<b><font color = blue>Salary of MR.B is</font color></b>'=>"1200$",'<b/><font color = blue>Salary of MR.C is</font color></b>'=>"1300$");
  3.  
  4. foreach ($salaries as $salary =>$wartosc){
  5.  
  6.  
  7.  
  8. echo $w="<table border=2 cellspacing=0 cellpading=0><td>".$salary."</td><td>".$wartosc."</td>";
  9. }
  10.  
  11.  
  12.  
  13. echo "tescik";
  14. ?>


Probowalem dolozyc do tego petle for z inkrementacja - coz, nie wyszlo. Chcialem zakmnac petle poprzez endforeach to wyskakiwal syntex error. Po xx:xx spedzonym nad tym pierdem puke.gif zwracam sie do szanownych kolegow.

Pozdr,
Jakub

Please help.


  1. $salaries=array('<strong><font color="blue">Salary of MR.A is</font></strong>'=>'1000$','<b><font color="blue">Salary of MR.B is</font></b>'=>'1200$','<b><font color="blue">Salary of MR.C is</font></b>'=>'1300$'); # poprawki htmla
  2.  
  3. $w='';
  4. foreach ($salaries as $salary=>$wartosc)
  5. {
  6. $w.='<tr><td>'.$salary.'</td><td>'.$wartosc.'</td></tr>';
  7. }
  8. if (isset($w[0])) echo '<table border="2" cellspacing="0" cellpading="0">',$w,'</table>';
  9.  
  10.  
  11. echo 'tescik';
  12. ?>


Robisz mocne bledy w skladni htmla, m.in.:
</font color> (zamiast </font>)
<b/> (zamiast </b>)
Oraz nie uzywasz "" a powinines tongue.gif tzn. Zamianst np. border=2 powinno byc border="2"
Poza tym cale <table> powinno byc poza pętlą tongue.gif. (A u siebie nawet nie zamykales </table>)
nospor
Skoro juz KsaR uczysz kolege podstaw HTML to jest i jedna dla Ciebie i dla niego:
TABLE wymaga TR a nie ni zgruszki ni z pietruszki TD.
KsaR
Cytat(nospor @ 16.09.2015, 11:44:43 ) *
Skoro juz KsaR uczysz kolege podstaw HTML to jest i jedna dla Ciebie i dla niego:
TABLE wymaga TR a nie ni zgruszki ni z pietruszki TD.

No dzięki, to akurat wiem ale sie tyle tam naskakalem przy poprawkach ze az wylecialo z glowy:D - zaraz tam poprawie.
JakubBab
Super, dzieki! :]

Co do HTML to fakt, mam na bakier. Skupiam sie na php a html i css dojdzie z czasem.

Niemniej jednak, pytania do ww. przykladu:


1. Dlaczego kod ktory napisalem wygenerowal takie zachowanie? Czy chodzi wlasnie o tabele w petli?

Pozdr,
Jakub
KsaR
Cytat(JakubBab @ 16.09.2015, 12:23:55 ) *
(...)
Niemniej jednak, pytania do ww. przykladu:

1. Co powoduje kropka przy zmiennej w

  1. $w.='<tr><td>'.$salary.'</td><td>'.$wartosc.'</td></tr>';


2. Dlaczego kod ktory napisalem wygenerowal takie zachowanie?


1.
$w.= To skrocony zapis do $w=$w.
A kropka laczy ciąg.
Czyli takie po polsku "dopisanie do obecnej zmiennej".

2. Prawdopodobnie przez złe wykonanie htmla, źle pokazało w przeglądarce.
nospor
Cytat
Dlaczego kod ktory napisalem wygenerowal takie zachowanie?
Poniewaz miales spiedzielony kod HTML i zachowanie jakie miales, bylo tego wlasnie skutkiem. Dlatego wazne jest znać podstawy HTML gdy probujesz pisac stronki www. PHP samo sie nie zda.

A kropka to operator łączenia tekstow. To są podstawy skolei php i skoro bierzesz sie za php to wypadaloby wpierw je poznac. Tego naprawde nie jest duzo a jest to totalny niezbednik
JakubBab
Dzieki Panowie za pomoc specool.gif

Do html przyznaje sie bez bicia. Zabralem sie za php bez jego znajomosci. Co do kropki wiem, ze jest to operator laczenia natomiast nie uzywalem go wczesniej odrazu po zmiennej przed deklaracja jej wartosci. Poprostu:

  1. $a= "tekst";


Niemniej jednak txn za pomoc.
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.