Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dzielenie i zapis do pliku
Forum PHP.pl > Forum > Przedszkole
tomsi
Mam w zmiennej ($liczby) liczby od 4 do 44, które są wyświetlane na stronie i teraz chciałbym do pliku zapisać tylko te, które nie są podizlene przez 6. Czy jest na to jakiś sposób? Nie chciałbym zrobić tak, że sam sobie oblicze w pamięci które to i je wypisze, tylko żeby to było obliczane.
Hazel
Jest operator reszty, zwany modulo (%).
Ale $liczby to chyba tablica,a nie zmienna skalarna?

A warunek podzielności wygląda tak:
  1. <?php
  2. if($liczba%6)
  3. {
  4. //liczba nie jest podzielna
  5. }
  6. else
  7. {
  8. //liczba jest podzielna
  9. }
  10. ?>

Ewentualnie, jeśli potrzebne Ci tylko liczby niepodzielne, blok else możesz oczywiście pominąć.
Drugi sposób polega na wykorzystaniu funkcji is_int()" title="Zobacz w manualu PHP" target="_manual, która sprawdza, czy liczba jest całkowita:
  1. <?php
  2. if(is_int($liczba/6))
  3. {
  4. //liczba jest podzielna
  5. }
  6. else
  7. {
  8. //liczba nie jest podzielna
  9. }
  10. ?>
phpion
Np. tak:
  1. <?php
  2. $liczby = array();
  3.  
  4. for ($i=4; $i<=44; $i++) {
  5. if ($i%== 0) {
  6. array_push($liczby, $i);
  7. }
  8. }
  9.  
  10. file_put_contents('plik.txt', implode(' ', $liczby));
  11. ?>
tomsi
Cytat(phpion.com @ 25.11.2007, 19:12:40 ) *
Np. tak:
  1. <?php
  2. $liczby = array();
  3.  
  4. for ($i=4; $i<=44; $i++) {
  5. if ($i%== 0) {
  6. array_push($liczby, $i);
  7. }
  8. }
  9.  
  10. file_put_contents('plik.txt', implode(' ', $liczby));
  11. ?>


Ale to mi w ten sposób zapisało do pliku podzielne, a ja chciałem niepodzielne, więc zamiast
if ($i%6 == 0)
wstawiłem
if ($i%6 != 0)

Dzieki wielkie za pomoc.
Zyx
To zamień sobie operator == na != i po kłopocie.
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.