Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z pętlą
Forum PHP.pl > Forum > Przedszkole
maniak70
Witam.

Chcę utworzyć prosty skrypt zamieniający liczbę w systemie dziesiętnym na binarny.
Można to zrobić zestawem instrukcji if, w których tylko niektóre wartości wzrastają.
Skoro wzrastają równomiernie, można użyć pętli do skrócenia kodu.
I tu pojawia się mój problem - skrypt z pętlą kończy działanie (maximum execution time of 30 seconds exceeded) na linii 6 - początku instrukcji if:

  1. <?php
  2. $tab = array(128, 64, 32, 16, 8, 4, 2, 1);
  3.  
  4. for ($i = 0; $i = 8; $i++) {
  5.    if ($liczba >= $tab[$i]) {
  6.            '$_'+$i = 1;
  7.        $liczba = $liczba%$tab[$i];
  8.    } else {
  9.            '$_'+$i = 0;
  10.    }
  11.    
  12.    $wynik .= '$_'+$i;
  13.    }
  14.  
  15. echo $wynik;
  16. ?>


Proszę o pomoc. dostal.gif

PS Czy dozwolony jest zapis '$_'$i = 1?
Dzielenie modulo można zastąpić odejmowaniem, wiem.
melkorm
1. ile równa się liczba ?
2.
  1. <?php
  2. $i = 8;
  3. ?>
tutaj nadajesz wartość a chcesz ją przyrównać więc "==" smile.gif
mój błąd for działą dopóki warunek jest prawdziwy czyli != lub i <= 8 :]
3. poprawiony kod :
  1. <?php
  2. foreach($tab as $val) {
  3.   if ($liczba >= $val) {
  4.           $temp = '1';
  5.       $liczba = $liczba%$val;
  6.   } else {
  7.           $temp = '0';
  8.   }
  9.   $wynik .= $temp;
  10. }
  11. echo $wynik;
  12. ?>
nospor
tak na wszelki wypadek zapytam:
wiesz o tym
http://pl2.php.net/manual/pl/function.decbin.php
?
melkorm
masz w moim wyedytowanym poście poprawiony kod winksmiley.jpg
maniak70
Dzięki, zaraz to sprawdzę.
Jesteś Wielki. Działa.
kallosz
po co pisac petle skoro nospor podal nu gotowa funkcje:)
maniak70
Dla własnej przyjemności. guitar.gif
Temat zakończony.
melkorm
Cytat
po co pisac petle skoro nospor podal nu gotowa funkcje:)

[spam]
No wiesz - ja też się uczyłem pisząc funkcje które są w php'ie gotowe smile.gif
[/spam]
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.