Pętle for w PHP

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 ?

<?php

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

?>

Oraz co to jest zmienna $x++ ?

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:

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

Powinno zrobić to co chcesz.

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:

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?

0

$x+2

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.

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.

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.

<?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.

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

sleep(1);
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

sleep(1);
<?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

1

Ostatni raz

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1