Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Array - dodawanie elementów przed ostatnim
PotasK
post 1.05.2012, 17:51:10
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 25.04.2012

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


Ostatnio kombinuję czy da się mój problem rozwiązać w inny sposób niż typowy, znany z podstaw programowania.

Problem polega na tym, że mam tablicę, w której domyślnie są dwa elementy (stringi) przekazywane w postaci stałych:
  1. <?php
  2. $aProblem = array(CONST1, CONST2);
  3. ?>

I zależy mi na tym, żeby można było dodawać kolejne elementy pomiędzy nimi, np:
  1. <?php
  2. $aProblem = array(CONST1, "nowy element", CONST2);
  3. ?>

Moje rozwiązanie tego problemu wygląda tak:
  1. <?php
  2. $aProblem = array(CONST1, CONST2);
  3.  
  4. function add_element($sElement)
  5. {
  6. $iCount = count($aProblem);
  7. $aProblem[$iCount] = $aProblem[$iCount - 1];
  8. $aProblem[$iCount - 1] = $sElement;
  9. }
  10. ?>

Wiem, że przykład jest bardzo toporny, w oryginale wszystko znajduje się w obrębie jednej klasy.

Moje pytanie brzmi: czy da się to zrobić prościej?

Z góry dziękuję za wszystkie odpowiedzi.

Ten post edytował PotasK 1.05.2012, 17:51:50
Go to the top of the page
+Quote Post
tehaha
post 1.05.2012, 18:11:49
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


zależy co masz na myśli prościej, można też tak:
  1. array_push($aProblem, $sElement, array_pop($aProblem));
ale nie wiem czy będzie to szybsze musiałbyś sprawdzić
Go to the top of the page
+Quote Post
PotasK
post 1.05.2012, 18:28:30
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 25.04.2012

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


Moim sposobem przy testowaniu pętli i < 10000 trwa około 3.9-4.6 s, a Twoim 0.12-0.23 s. smile.gif
Wielkie dzięki.
Go to the top of the page
+Quote Post

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: 30.10.2020 - 13:56