![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
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.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 05:04 |