Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zliczanie danych z array
Forum PHP.pl > Forum > Przedszkole
Ruio
Napotkałem dzisiaj w skrypcie ciekawy problem mianowicie :

array zwraca tablice np:
  1. [1] => Array ( [0] => 1 [1] => 1281187062 [2] => 0 [3] => 1281187926 )


nie mam pomysłu jak mogę policzyć ile razy w array - np takim:

Array ( [0] => Array ( [0] => 1 [1] => 1281186280 [2] => 0 [3] => 1281187144 )
[1] => Array ( [0] => 1 [1] => 1281187144 [2] => 0 [3] => 1281188008 )
[2] => Array ( [0] => 2 [1] => 1281188008 [2] => 0 [3] => 1281188059 )
[3] => Array ( [0] => 2 [1] => 1281188059 [2] => 0 [3] => 1281188110 )
[4] => Array ( [0] => 3 [1] => 1281188110 [2] => 0 [3] => 1281188137 ) )

powtarza się dana liczba np 1(wynik to 2 powtórzenia). Chodzi mi o pogrubione dane


Z góry dziękuję za pomoc.
r4xz
function.array-count-values

manual nie gryzie
zegarek84
postów trochu masz więc nie dam gotowca w prost - wystarczy jak delikatnie w if else zmienisz - równie dobrze to na foreach można było zrobić zamiast na do while - tutaj masz wyświetloną tablicę w których wierszach znajdują się te same liczby...

  1. $ar = Array (
  2. 0 => Array ( 0 => 1, 1 => 1281186280, 2 => 0, 3 => 1281187144 ),
  3. 1 => Array ( 0 => 1, 1 => 1281187144, 2 => 0, 3 => 1281188008 ),
  4. 2 => Array ( 0 => 2, 1 => 1281188008, 2 => 0, 3 => 1281188059 ),
  5. 3 => Array ( 0 => 2, 1 => 1281188059, 2 => 0, 3 => 1281188110 ),
  6. 4 => Array ( 0 => 3, 1 => 1281188110, 2 => 0, 3 => 1281188137 )
  7. );
  8.  
  9. $temp = array();
  10. if (reset($ar) !== false) do {
  11. $key = key($ar);
  12. if(!isset ($temp[$ar[$key][0]])){
  13. $temp[$ar[$key][0]] = array($key);
  14. }else{
  15. $temp[$ar[$key][0]][]=$key;
  16. }
  17. } while (next($ar) !== false);
  18. print_r($temp);

wynik:
Kod
Array
(
    [1] => Array
        (
            [0] => 0
            [1] => 1
        )
    [2] => Array
        (
            [0] => 2
            [1] => 3
        )
    [3] => Array
        (
            [0] => 4
        )
)
Ruio
dzięki ogromne winksmiley.jpg co do tego, że manual nie gryzie to wiem , sprawdzałem tą funkcję ale niepotrafiłem poukładać.
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.