Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dzielenie i zapis do pliku
tomsi
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


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.


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
Hazel
post
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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


Ten post edytował Hazel 25.11.2007, 19:13:08


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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. ?>
Go to the top of the page
+Quote Post
tomsi
post
Post #4





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


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.

Ten post edytował tomsi 25.11.2007, 19:32:56


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
Zyx
post
Post #5





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


To zamień sobie operator == na != i po kłopocie.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 16:09