Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]petla foreach, Petla foreach i jej zamknciecie
JakubBab
post
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


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.

Ten post edytował JakubBab 15.09.2015, 23:16:03
Go to the top of the page
+Quote Post
KsaR
post
Post #2





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


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>)

Ten post edytował KsaR 16.09.2015, 10:47:43


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
KsaR
post
Post #4





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


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.


--------------------
Go to the top of the page
+Quote Post
JakubBab
post
Post #5





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


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


Ten post edytował JakubBab 16.09.2015, 11:46:45
Go to the top of the page
+Quote Post
KsaR
post
Post #6





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


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.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
JakubBab
post
Post #8





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 23:34