Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Własne pętle
Forum PHP.pl > Forum > PHP
Sokal
Hej,

Czy w PHP da się coś takie zrobić jak własna pętla? biggrin.gif

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

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

Gdzie $x to ilość razy jaką ma się wykonać kod.
phpion
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...
Cysiaczek
  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.
Sokal
Ale sie nie o to rozchodzi tongue.gif

Chce mieć uniwersalne ...

Czyli np.

repeat(3)
{
$i++;
}

Albo:

repeat(21)
{
$variable .= 'petla';
}
Cysiaczek
Takie rzeczy tylko... w manualu, w dziale poświęconym pisaniu własnych funkcji i rozszerzeń do języka.
dr_bonzo
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" } # biggrin.gif
phpion
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 smile.gif
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.