Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Usuwanie pierwszego elementu tablicy?, jednak array_shift() rozburza mi klucze
kukix
post
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
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Dzieki za kod (IMG:style_emoticons/default/smile.gif) U mnie na PHP 5.3.3-7+squeeze13 with Suhosin-Patch i Intel® Core™ i7 CPU 920 @ 2.67GHz wyniki są porównywalne (~0.001s czasu różnicy z przewagą raz na jedną a raz na drugą szalę). Co ciekawe, gdy limit na ilość elementów w tablicy się zwiększa, rozwiązanie z resetem praktycznie nie zmienia czasu wykonania, zaś w rozwiązaniu z array_slice rośnie.
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: 24.08.2025 - 05:04