Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własne pętle
Sokal
post
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 8.02.2007

Ostrzeżenie: (10%)
X----


Hej,

Czy w PHP da się coś takie zrobić jak własna pętla? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Np. chciałbym sobie takie coś zrobić:

repeat($x)
{
echo 'cos tam';
}

Gdzie $x to ilość razy jaką ma się wykonać kod.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Chyba jedynym rozwiazaniem byłoby utworzenie funkcji repeat() i w niej odpalenie pętli np. for. Tylko, że ciało funkcji musiałoby być z góry ustalone. A może do funkcji przekazywać kod PHP jak parametr i przelecieć go eval'em? Nie wiem czy by to zadziałało...
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




  1. <?php
  2. function repeat($text, $counts, $endline=false){
  3.  
  4. $availSufix=array("n", "<br />");
  5.  
  6. if($endline){
  7.  
  8. if(in_array($endline, $availSufix)){
  9. $sufix=$endline;
  10. }
  11. }
  12.  
  13. if(!is_integer($counts)){
  14. $counts=0;
  15. }
  16.  
  17. for($i=0; $i<$counts; $i++){
  18. $ret.=$text.$sufix;
  19. }
  20. return $ret;
  21. }
  22.  
  23. print repeat("hello", 10, "<br />");
  24. ?>

Napisałem w 3 minuty : >>
Pozdrawiam.

Ten post edytował Cysiaczek 1.06.2007, 18:16:53
Go to the top of the page
+Quote Post
Sokal
post
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 8.02.2007

Ostrzeżenie: (10%)
X----


Ale sie nie o to rozchodzi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Chce mieć uniwersalne ...

Czyli np.

repeat(3)
{
$i++;
}

Albo:

repeat(21)
{
$variable .= 'petla';
}
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Takie rzeczy tylko... w manualu, w dziale poświęconym pisaniu własnych funkcji i rozszerzeń do języka.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Nie da sie.
Mozesz sobie zrobic template do edytora ktory
repeat(n)
zamieni ci na petle
  1. <?php
  2. for ( $x = 0; $x < n; $x++ )
  3. {
  4. ...
  5. }
  6. ?>


21.times { print "use ruby instead\n" } # (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
phpion
post
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Hmmm
  1. <?php
  2. function repeat($code, $loops) {
  3. for ($i=0; $i<$loops; $i++) {
  4. eval($code);
  5. }
  6. }
  7.  
  8. repeat("echo 'lalala<br>';", 3);
  9. repeat("echo str_replace('a', 'o', 'lalala').'<br>';", 3);
  10. ?>

i śmiga (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 2.10.2025 - 23:54