Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Usuwanie pierwszego elementu tablicy?, jednak array_shift() rozburza mi klucze
kukix
post 6.07.2012, 13:36:30
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Mam tablice generowaną automatycznie, jednak potrzebuje, żeby nie miała ona więcej niż 5 elementów.

Podczas dodawania elementu do tablicy sprawdzam, czy ma powyżej 5 elementów i jeżeli ma to kasuje je funkcją array_shift();

Po ciężkiej walce okazało się, że array_shift() modyfikuje mi klucze pozostałych tablic...

W jaki sposób mogę kontrolować czy tablica ma 5 elementów.. i kasować najstarszy?
Myślałem o pętli foreach(), ale może jest jakis wbudowany w php mechanizm?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post 6.07.2012, 13:51:08
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Wyciągnij 4 elementy, z pominięciem pierwszego używając array_slice i zachowując klucze, czyli z wykorzystaniem WSZYSTKICH parametrów tej funkcji smile.gif
Tylko użyć count, który sprawdza czy tablica ma więcej niż 5 elementów i jeśli tak, to robi array_slice według tego co powżej i dokłada nowy element tablicy smile.gif

EDIT: @up... za dużo zachodu, to co pokazałeś to: resetuje wskaźnik tablicy, czyli ustawia na pierwszym, potem sprawdza nazwę klucza i na koniec robi usunięcie elementu tablicy o takim kluczu. Za dużo motania.
Powód edycji: [thek]: Wytłumaczenie koledze co robi jego kod ;)


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.08.2025 - 18:51