Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zlicznanie elementów tablicy
Puzi
post 17.07.2008, 09:13:06
Post #1





Grupa: Zarejestrowani
Postów: 231
Pomógł: 17
Dołączył: 26.08.2007

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


Witam,
Mam taką tablice:
  1. <?php
  2. $liczby = array(95, 0, 0, 86, 55, 777, 0);
  3. ?>


I chcę zliczyć ile jest liczb większych od zera...
Jak to można zrobić??

Proszę o pomoc
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
pyro
post 17.07.2008, 09:16:24
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. <?php
  2. $ilosc = 0;
  3. foreach($liczby as $val)
  4. {
  5. if($val > 0)
  6. {
  7. $ilosc += 1;
  8. }
  9. }
  10. // zmienna $ilosc zawiera ilosc wartosci wiekszych od 0
  11. ?>


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
nexis
post 17.07.2008, 09:18:04
Post #3





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


  1. <?php
  2.  
  3. function greaterThenZero($array) {
  4.  $counter = 0;
  5.  foreach ($array as $row) {
  6. if (< $row) $counter++;
  7.  }
  8.  return $counter;
  9. }
  10.  
  11. $liczby = array(95, 0, 0, 86, 55, 777, 0);
  12. echo greaterThenZero($liczby);
  13.  
  14. ?>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
kszychu
post 17.07.2008, 09:22:03
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


@nexis: nie podałeś innego mechanizmu niż ten już zaprezentowany. Mógłbym to uznać za nabijanie postów, więc uważaj na przyszłość.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Shili
post 17.07.2008, 09:27:18
Post #5





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Można też to zrobić w ten sposób (pewnie bardziej jako ciekawostka winksmiley.jpg):
  1. <?php
  2. function niezerowe($var)
  3. {
  4. if($var > 0)
  5. return $var;
  6. }
  7. $tablica1 = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
  8. echo count(array_filter($tablica1, "niezerowe"));
  9. ?>


@Kszychu
Przecież czas dodania wskazuje, że oboje pisali to równocześnie o_0

Ten post edytował Shili 17.07.2008, 09:29:48
Go to the top of the page
+Quote Post
nexis
post 17.07.2008, 10:24:57
Post #6





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Cytat(Shili @ 17.07.2008, 10:27:18 ) *
Można też to zrobić w ten sposób (pewnie bardziej jako ciekawostka


A nawet tak:

  1. <?php
  2. function niezerowe($var) {
  3. return 0 < $var;
  4. }
  5. ?>


Cytat(Shili @ 17.07.2008, 10:27:18 ) *
@Kszychu
Przecież czas dodania wskazuje, że oboje pisali to równocześnie o_0


Dostałem upomnienie, żeby korzystać z przycisku "usuń" w takim przypadku. winksmiley.jpg


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:45