Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Podział na liczby parzyste i nieparzyste
Forum PHP.pl > Forum > Przedszkole
tomsi
Mam w pliku liczby np. 2, 3, 4, 7, 8, 14 i teraz chciałbym je podzielić żeby liczby parzyste znajdowały się w jednej zmiennej a liczby nieparzyste w drugiej zmiennej. Mam coś takiego:

if(($plik%2)==0)
{
$komunikat="LICZBA PARZYSTA";
echo $komunikat;
}
else
{
$komunikat="LICZBA NIEPARZYSTA";
echo $komunikat;
}
Ale to mi tylko bierze pierwszą liczbę :-/ Pewnie trzeba wstawić pętle, ale nie dałem rady jej stowrzyć
b_chmura
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10.  }
  11.  else
  12.  {
  13.  $nieparzyste[] = $liczba;
  14.  }
  15. }
  16. ?>
tomsi
Cytat(b_chmura @ 26.11.2007, 11:41:58 ) *
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10.  }
  11.  else
  12.  {
  13.  $nieparzyste[] = $liczba;
  14.  }
  15. }
  16. ?>


Ok a teraz jakbym chcial je zliczyć to muszę zrobić tak? Coś mi się to dziwnie wyświetla.

  1. <?php
  2. foreach($liczba as $liczba)
  3. {
  4. if($liczba%== 0)
  5. {
  6.  $parzyste[] = $liczba;
  7.  $r = array_sum($parzyste);
  8. echo $r;
  9. echo "<BR>";
  10.  }
  11.  else
  12.  {
  13.  $nieparzyste[] = $liczba;
  14.  $r = array_sum($nieparzyste);
  15. echo $r;
  16. echo "<BR>";
  17.  
  18.  }
  19. }
  20. ?>
itsme
  1. <?php
  2. $iNieParzyste++;
  3. $iParzyste++;
  4. ?>

dodaj to w oppowiednie miejsca i bedzie zliczone
tomsi
Ja się źłe wyraziłem chyba. Chodziło o zsumowanie liczb, tzn ile wynosi suma wszystkich liczb w parzystych i ile wynosi suma liczb w nieparzystych.
b_chmura
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10. $sumaParzyste += $liczba;
  11.  }
  12.  else
  13.  {
  14. $nieparzyste[] = $liczba;
  15. $sumaNieparzyste += $liczba;
  16.  }
  17. }
  18. ?>
tomsi
Cytat(b_chmura @ 26.11.2007, 12:17:20 ) *
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10. $sumaParzyste += $liczba;
  11.  }
  12.  else
  13.  {
  14. $nieparzyste[] = $liczba;
  15. $sumaNieparzyste += $liczba;
  16.  }
  17. }
  18. ?>


Ok wstawiłem sobie echo i wyświetliłem liczby parzyste i otrzymałem taki wynik: 261220, czyli każda następna liczba byla dodawana i wyśwetlana. A jak zrobić żebym otzrymał tylko ostatnia liczbę, czyli 20? Probowałem je wpisać do tablicy i zliczyć, ale był jakiś problem.
NetJaro
Tzn. Ostatnią liczbę z wyniku? Polecam substr" title="Zobacz w manualu PHP" target="_manual smile.gif
tomsi
No tak, ale czy jak liczba tych elementów (liczb) się zwiększy to dalej będzie się wyświetlalo tak jak trzeba, czyli ostatni element ten policzony? Bo mi nie wyświetla tego nowego ostatniego elementu.
nospor
Ale w czym problem?
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. $sumaParzyste = 0;
  6. $sumaNieparzyste = 0;
  7. foreach($liczba as $liczba)
  8. {
  9. if($liczba%== 0)
  10. {
  11. $parzyste[] = $liczba;
  12. $sumaParzyste += $liczba;
  13.  }
  14.  else
  15.  {
  16. $nieparzyste[] = $liczba;
  17. $sumaNieparzyste += $liczba;
  18.  }
  19. }
  20.  
  21. echo 'Parzyste: '.$sumaParzyste; //20
  22. echo '<br />NieParzyste: '.$sumaNieparzyste; //25
  23. ?>
tomsi
O kurde ale mózg ze mnie sciana.gif chyba za bardzo kombinowałem. Dzięki
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.