Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [PHP]Usuwanie rekordów z tablicy, bez tworzenia "dziury" w kluczach rekordów
S_Olewniczak
post 24.05.2008, 17:26:12
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

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


Czy w PHP istnieje funkcja, która usunie rekord z tablicy nie robiąc "dziury" pomiędzy kluczami rekordów tej tablicy?
Go to the top of the page
+Quote Post
piotrooo89
post 24.05.2008, 17:32:44
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




z tego co wiem funkcja do usuwania to unset ale nie wiem czy nie zrobi "dziury" pewnie tak bo to jest usunięcie podobne do usuwania zmiennej czyli usuwa klucz i wartość...

jak byś miał coś takiego

  1. <?php
  2. $tab[0]='ok';
  3. $tab[1]='nie';
  4. $tab[2]='ok2';
  5. unset($tab[1]);
  6. ?>


zostanie Ci tablica mająca 2 elementy (ok, ok2) o kluczach [0] i [2], ale poczytaj może jakoś można


--------------------
Go to the top of the page
+Quote Post
Athlan
post 24.05.2008, 18:03:23
Post #3





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


  1. <?php
  2.  
  3. function ArrayDeleteElements(array $aArray, array $aElements)
  4. {
  5. foreach($aElements as $sElement)
  6. if(isset($aArray[$sElement]))
  7. unset($aArray[$sElement]);
  8.  
  9. $aResult = array();
  10.  
  11. foreach($aArray as $iKey => $mValue)
  12. $aResult[] = $mValue;
  13.  
  14. return $aResult;
  15. }
  16.  
  17. $aTest = array
  18. (
  19. 1 => 'a',
  20. 2 => 'b',
  21. 3 => 'c',
  22. 4 => 'd',
  23. );
  24.  
  25. $aTest = ArrayDeleteElements($aTest, array(2,3));
  26. var_dump($aTest);
  27.  
  28. ?>


Kodzone z palca, może fiksować.

Uwagi: tablica z elementami do usunięcia (kluczami) musi być stringami lub liczbami - tak jak klucze. Dlatego odpowiednia walidacje sobie dopisz.


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
Crozin
post 24.05.2008, 18:50:24
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


A nie wystarczy array_slice" title="Zobacz w manualu PHP" target="_manual?
Go to the top of the page
+Quote Post
itsme
post 24.05.2008, 19:36:14
Post #5





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




manual + szukanie infomacji na forum

nastepnym razem za lenistwo warn bedzie exclamation.gif!

zamykam


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post

Closed 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: 25.04.2024 - 15:19