Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Funkcje w stringu zmiennej
Pietrz
post 25.07.2011, 12:52:31
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.07.2011

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


Witam,

Mam mały problem.

Wiem że można zrobić $zmienna = 'twoj szczesliwy numerek to ' . rand(0,100) . ' dalszy tekst';

Ale jak mogę dodać funkcję np. foreach do takiego stringu.

  1. [Jakas Tablica]
  2.  
  3. $template = '
  4. foreach($champ as $key => $val) { // Kompiluje się jako zwykły tekst
  5. <div>To ma się powtarzać</div>
  6. }
  7. ';
  8.  


Z góry dziękuję za odpowiedź.

Ten post edytował Pietrz 25.07.2011, 12:53:28
Go to the top of the page
+Quote Post
Adi32
post 25.07.2011, 14:00:05
Post #2





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


  1. [Jakas Tablica]
  2.  
  3. $template = '
  4. foreach($champ as $key => $val) {
  5. echo "<div>To ma się powtarzać</div>";
  6. }
  7. ';
  8.  
  9. eval ($template.';');


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post
zend
post 25.07.2011, 22:18:56
Post #3





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Zwroc uwage na konstrukcje .= powoduje ona dopisanie na koncu tekstu nowego tekstu
  1. $data = '';
  2. foreach($items as $key => $value)
  3. {
  4. $data .= 'cos ' . rand();
  5. }


Obecnie wszystkie dane były traktowane jako cciąg znaków, a nie jak program który ma się wykonać
Go to the top of the page
+Quote Post
Pietrz
post 25.07.2011, 22:31:38
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.07.2011

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


Mam taki kod:

  1.  
  2. <?php
  3.  
  4. global $headerinclude, $header, $theme, $footer;
  5.  
  6. $champ = array("champZ", "champF", "champT", "champD");
  7. sort($champ);
  8. foreach ($champ as $key => $val) {
  9. echo "champ[" . $key . "] = " . $val . "<br/>";
  10. }
  11.  
  12.  
  13. $template='
  14. <html>
  15. <head>
  16. <title>'.$pages['name'].'</title>
  17. {$headerinclude}
  18. </head>
  19. <body>
  20. {$header}
  21.  
  22.  
  23. foreach($champ as $key => $val) {
  24.  
  25. <div class="tborder" style="height: 150px; width: 100px; float: left; margin: 5px;">
  26. <div class="trow1" style="height: inherit; width: inherit;">
  27. <img src="images/champs/gragas/avatar.png" style="height: 80px; width: 80px; padding-left: 10px; padding-right: 10px; padding-top: 10px; padding-bottom: 5px;">
  28. <center><strong><a href="#">Champ</a></strong></center>
  29. </div>
  30. </div>
  31.  
  32. }
  33.  
  34.  
  35. <br />
  36. {$footer}
  37. </body>
  38. </html>
  39. ';
  40.  
  41.  
  42. $template=str_replace("\'", "'", addslashes($template));
  43.  
  44. add_breadcrumb($pages['name']);
  45.  
  46. eval("\$page=\"".$template."\";");
  47.  
  48. output_page($page);
  49.  
  50. ?>
  51.  


Wszystko wyświetla się jako zwykły ciąg razem z foreach.

Ten post edytował Pietrz 25.07.2011, 22:32:17
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 Wersja Lo-Fi Aktualny czas: 8.07.2025 - 04:39