Pętle for w PHP

LB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 427
0

Witam

Mam pytanie odnośnie przykładowej pętli poniżej, jakie tam wartości zamiast liczb możemy podawać? Czy mogę dodać w zmiennej literę np "A" a w sprawdzeniu warunku literkę "E" ? żeby wypisało litery A,B,C,D,E ?

Kopiuj
<?php

for( $x = 1; $x <= 10; $x++ )
   echo $x."<br>";

?>

Oraz co to jest zmienna $x++ ?

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 644
0

Co Cię powstrzymuje przed sprawdzeniem tego? Podmień $x na 'A', zrób $x <= 'E' i sprawdź.
Dodam tylko, że 'A' + 1 w PHP = 1, 'A' > 'B' = false, 'A' < 'B' = true
$x++ to powiększenie $x o 1.

Zainteresuj się funkcją chr. Np. chr(65) = 'A' czyli:

Kopiuj
for($x = 65; $x <= 69; $x++) {
   echo char($x) . PHP_EOL;
}

Powinno zrobić to co chcesz.

LB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 427
0
Markuz napisał(a):

Co Cię powstrzymuje przed sprawdzeniem tego? Podmień $x na 'A', zrób $x <= 'E' i sprawdź.
Dodam tylko, że 'A' + 1 w PHP = 1, 'A' > 'B' = false, 'A' < 'B' = true
$x++ to powiększenie $x o 1.

Zainteresuj się funkcją chr. Np. chr(65) = 'A' czyli:

Kopiuj
for($x = 65; $x <= 69; $x++) {
   echo char($x) . PHP_EOL;
}

Powinno zrobić to co chcesz.

OK teraz działa. Wcześniej testowałem tylko do liter nie dodałem apostrofów i nie działało. A jak zrobić by powiększenie było o 2?

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 335
0

$x+2

LB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 427
0
hapertown napisał(a):

$x+2

Potwierdzam będzie $x+=2 ;) bo $x+2 zawiesiło program.

A żeby teraz każde wyliczenie było co określony czas np. 1 sek jest to możliwe żeby tak ustawić? Chodzi mi żeby z tego zrobić odliczenie.

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 335
0

Wrzuć w środek pętli instrukcję sleep (http://php.net/manual/en/function.sleep.php) - zawiesza wykonanie na określoną liczbę sekund. Chociaż jak wykonasz ten kod na stronie, to wyniki nie będą pokazywać Ci się co 1 sek, lecz PHP wyrzuci Ci wszystkie wyniki od razu - tyle że czas wykonania będzie dłuższy o liczbę sekund równą liczbie iteracji w pętli.

LB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 427
0
hapertown napisał(a):

Wrzuć w środek pętli instrukcję sleep (http://php.net/manual/en/function.sleep.php) - zawiesza wykonanie na określoną liczbę sekund. Chociaż jak wykonasz ten kod na stronie, to wyniki nie będą pokazywać Ci się co 1 sek, lecz PHP wyrzuci Ci wszystkie wyniki od razu - tyle że czas wykonania będzie dłuższy o liczbę sekund równą liczbie iteracji w pętli.

Kopiuj
<?php
for( $x = 2; $x <= 4; $x+=2, sleep = 1; );
int sleep ( int $seconds );
echo $x."<br>";
?>

Nie działa, zapewne źle dodałem funkcję tylko nie wiem jak ją dodać w prawidłowy sposób.

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 112
0

haha kłaniają się podstawy programowania :D i to głębokie podstawy. Poczytaj jak konstruować pętle for najpierw. Następnie co to są funkcje i jak je wywoływać :)
Do wcześniej działającej pętli for wrzucasz np

Kopiuj
sleep(1);
LB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 427
0
dervill napisał(a):

haha kłaniają się podstawy programowania :D i to głębokie podstawy. Poczytaj jak konstruować pętle for najpierw. Następnie co to są funkcje i jak je wywoływać :)
Do wcześniej działającej pętli for wrzucasz np

Kopiuj
sleep(1);
Kopiuj
<?php
function my_sleep($seconds) {
for($x = 2; $x <= 4, $x <= $seconds; $x+=2);
    my_sleep(1);

echo $x."<br>";
}
?>

Tylko nadal nie działa hmm

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 335
1

Ostatni raz

Kopiuj
$seconds=1;
for($x=2;$x<=4;$x+=2)
{
    sleep($seconds);
    echo $x."<br>";
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.