Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcje w stringu zmiennej
Forum PHP.pl > Forum > Przedszkole
Pietrz
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ź.
Adi32
  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.';');
zend
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ć
Pietrz
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.
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.