Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]opertor "kropki" + dołączenie funkcji, czy to możliwe?
siemieng
post 4.11.2008, 00:11:55
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 7
Dołączył: 16.01.2007

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


witam,

mam taki problem z kodem, mianowicie tworząc pewien skrypt php wykorzystuję do niego funkcje, i pojawia się następujący problem przy próbie dołączenia wywołania funkcji przy pomocy kropki:

  1. <?
  2. [b]function xxx()[/b] { //przykladowa funkcja 1
  3.    for ($i=1; $i<=10; $i++) {echo 'proba'.$i;}
  4. }
  5.  
  6. [b]function dll0001()[/b] {//funckja 2 odpowiadajaca za wyswietlanie + proba wywolania funkcji xxx()
  7.  
  8. $toprint = '<div class="absolute">';
  9.    $toprint .= '<div class="divl0_dll0001menu">';
  10.        $toprint .= '<div class="divl1_dll0001menu_options">';
  11.            [b]$toprint .= ''. xxx().'';[/b]
  12.        $toprint .= '</div>';
  13.        $toprint .= '<div class="divl1_dll0001menu_line">';
  14.        $toprint .= '</div>';
  15.        $toprint .= '<div class="divl1_dll0001menu_bot">';
  16.            $toprint .= '<div class="divl2_dll0001menu_ppl">';
  17.                $toprint .= '';
  18.            $toprint .= '</div>';
  19.        $toprint .= '</div>';
  20.    $toprint .= '</div>';
  21. $toprint .= '</div>';
  22.  
  23. return $toprint;
  24. }
  25.  
  26. echo dll0001();
  27. ?>


W tej sytuacji wszystko się wykona (wykona się funkcja xxx i zostanie wyświetlona 2 funkcja), tyle że nie w dziwnej kolejności - wywołanie funkcji xxx() nastąpi na "początku funkcji dll0001(), po tym zostanie wykonana (wyświetlona) pozostała część funkcji dll0001().

tak wygląda fragment źródła strony z tym kodem:
proba1proba2proba3proba4proba5proba6proba7proba8proba9proba10<div class="absolute"><div class="divl0_dll0001menu">..........

Wiem, że da się to rozwiązać w sposób:
  1. <?
  2. [b]function xxx()[/b] { //przykladowa funkcja 1
  3.    for ($i=1; $i<=10; $i++) {echo 'proba'.$i;}
  4. }
  5.  
  6. [b]function dll0001()[/b] {//funckja 2 odpowiadajaca za wyswietlanie + proba wywolania funkcji xxx()
  7. ?>
  8. <div class="absolute">
  9. <div class="divl0_dll0001menu">
  10. <div class="divl1_dll0001menu_options">
  11.            <?php  xxx(); ?>
  12. </div>
  13. <div class="divl1_dll0001menu_line">
  14. </div>
  15. <div class="divl1_dll0001menu_bot">
  16. <div class="divl2_dll0001menu_ppl">
  17. </div>
  18. </div>
  19. </div>
  20. </div>
  21. <?
  22. }
  23.  
  24. echo dll0001();
  25. ?>


Ale z ciekawości i na przyszłość, czy może ktoś wie czy da się przy pomocy kropki wywołać funkcję?questionmark.gifquestionmark.gifquestionmark.gif?
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.07.2025 - 06:15