Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Powtarzające się rekordy w tablicy. Przeindeksowanie?
perhydrol
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 11.12.2006

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


Posiadam plik tekstowy który zaczytuję kolejno do tablicy, poniżej zamieszczam tylko część aby za obrazować sytuację

  1. <?php
  2. (
  3.    [0] => Array
  4.        (
  5.            [0] => 192.168.0.1
  6.            [1] => Kowalski_A
  7.            [2] => 00:0E:2E:E0:00:D4
  8.        )
  9.  
  10.    [1] => Array
  11.        (
  12.            [0] => 192.168.0.3
  13.            [1] => Stepien_R
  14.            [2] => 00:0E:2E:B0:4D:8E
  15.        )
  16.    [2] => Array
  17.        (
  18.            [0] => 192.168.0.3
  19.            [1] => Stepien_R
  20.            [2] => 00:0E:2E:B0:4D:8E
  21.        )
  22. )
  23. ?>


czy może mi ktoś podpowiedzieć w jaki sposób mogę usunąć powtarzające się rekordy w tablicy.

-z góry dziękuję za pomoc

Ten post edytował perhydrol 19.03.2009, 20:16:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
perhydrol
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 11.12.2006

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


jeśli ktoś będzie potrzebował kiedyś "usunąć" wybrany rekord z
tablicy oraz ją "przeindeksować" zamieszczam skuteczne rozwiązanie:

  1. <?php
  2. #Funkcja usuwająca wybrany indeks w tablicy oraz pozwalająca prze indeksować ją ponownie
  3. function DelRow($array, $indice)
  4.    {
  5.    
  6.      if (array_key_exists($indice, $array))
  7.          {
  8.            $temp = $array[0];
  9.            $array[0] = $array[$indice];
  10.            $array[$indice] = $temp;
  11.            array_shift($array);
  12.  
  13.            for ($i=0; $i<$indice; $i++)
  14.                {
  15.                      $dummy = $array[$i];
  16.                      $array[$i] = $temp;
  17.                      $temp = $dummy;
  18.                }
  19.        }
  20.      return $array;
  21.    }
  22.  
  23. # Przykładowa tablica
  24.        $tab[0] = array("Wartosc_1-1", "Wartosc_1-2", "Wartosc_1-3"); // powtarzające sie rekordy [0]
  25.        $tab[1] = array("Wartosc_2-1", "Wartosc_2-2", "Wartosc_2-3");
  26.        $tab[2] = array("Wartosc_3-1", "Wartosc_3-2", "Wartosc_3-3");
  27.        $tab[3] = array("Wartosc_1-1", "Wartosc_1-2", "Wartosc_1-3"); // powtarzające sie rekordy [3]
  28.  
  29. #Wywołanie funkcji dla wybranej wartości przekazanej w zmiennej $_GET[] z tablicy $tab
  30.        for($i=0; $i<count($tab); $i++)
  31.        {
  32.            if($_GET['wartosc']==$tab[$i][0])
  33.                {
  34.                    $new_tab = DelRow($tab, $i);
  35.                }
  36.        }
  37.  
  38. # Sprawdzamy skuteczność działania funkcji
  39.   echo "<pre>";
  40.  print_r($new_tab);
  41.  echo "</pre>";
  42. ?>


Ten post edytował perhydrol 21.03.2009, 14:21:36
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 13:14