Portál AbcLinuxu, 10. května 2025 04:13

Dotaz: PHP - Posunutí prvků v poli

30.3.2014 17:49 Jana
PHP - Posunutí prvků v poli
Přečteno: 507×
Odpovědět | Admin
Ahoj, mám ještě jeden dotaz ohledně pole. Mám takové pole
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)
a potřebuji do něj později vložit další prvek, jenže dostanu výsledek
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => new
)
a já bych potřebovala abych dostala výsledek takový
Array
(
    [0] => new
    [1] => orange
    [2] => banana
    [3] => apple
)
je na to nějaká funkce? Děkuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Tarmaq)
MMMMMMMMM avatar 30.3.2014 18:01 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://www.php.net/manual/en/function.array-unshift.php
Linux Dokumentační Projekt - PDF ke stažení
30.3.2014 18:13 Jana
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
Díky, není nad to když ví člověk co má hledat..
MMMMMMMMM avatar 30.3.2014 18:14 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
já tu funkci nikdy nepoužil ani neznal, jen jsem formuloval dotaz na google ;-)
30.3.2014 19:43 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
S tou funkcí opatrně, u velkých polí je dost drahá. Od určité velikosti je rychlejší přidávat na konec a pak celé pole převrátit.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
2.4.2014 12:10 Lucius
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud by nezalezelo na indexu toho noveho prvku tak by se dalo pekne pouzit
$tmp = array('orange','banana','apple'); // puvodni pole

$newItem = 'new'; // hodnota pro pridani

reset($tmp); // pokud je pointer na pocatku pole tak to neni treba

$tmp = array( (key($tmp)-1) => $newItem ) + $tmp;
2.4.2014 12:29 Lucius
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
a pak me napadlo jeste jedno reseni, tam uz novy prvkem pole ma index 0 :
$tmp = Array
(
    'orange'
    ,'banana'
    ,'apple'
);
$newItem = 'new';
$tmp = array_merge (array($newItem),$tmp);

print_r($tmp);
ktere z reseni tady uvedenych je vykonove nejlepsi nevim
2.4.2014 19:19 Kit
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
array_unshift();
3.4.2014 13:46 dword
Rozbalit Rozbalit vše Re: PHP - Posunutí prvků v poli
Odpovědět | | Sbalit | Link | Blokovat | Admin
Existuji pole a existuji seznamy.

Oba pristupy maji sve vyhody a nevyhody.

Pole umi efektivne pridavat polozky, vetsinou ma nejake maximum (pokud se nejedna o dynamicke pole) ale naopak operace jako prehozeni, posunuti atd (obecne zmena poradi prvku v poli) jsou tim drazsi, cim je pole vetsi.

Seznamy zerou trochu vic pameti, pridani prvku trva dele nez do pole, ale naopak prohazovani prvku ci teoreticky rust do nekonecna jsou jejich prirozenymi vlastnostmi.

Da se to naimplementovat pomoci obou, ale zvazil bych v tomto pripade pouziti seznamu namisto pole.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.