Autor Zpráva
Ladicek
Profil *
Mám data v array(), které si vypisuji do implode("|", $category); Potřebuji ale, aby první hodnota se do implode nedostávala a výpis fungoval až od druhého.
Jak toho mohu docílit?
Str4wberry
Profil
Řešení je funkci implode předat takové pole, kde první hodnota nebude.
Ladicek
Profil *
A jak toho mohu docílit?
Tori
Profil
Buď použít funkci, která vrátí nové pole od druhé prvku do konce, anebo z $category ten první prvek vyhodit. Záleží, jestli to pole chcete ještě potom používat v původní podobě nebo ne. Můžete začít třeba tím, že si projdete seznam funkcí pro práci s poli a přečtete si, k čemu která je, jestli by se vám mohla hodit nebo ne.
freddy565
Profil
PHP na to má krásnou funkci.

array_shift() - http://php.net/manual/en/function.array-shift.php

výsledek by mohl vypadat třeba: $result = implode("|", array_shift($category));
nevytváříš žádné pomocné pole a s původním můžeš i nadále pracovat v jeho původní podobě.
Tori
Profil
freddy565:
Funkce array_shift modifikuje pole (parametr je předaný referencí), a navíc vrací právě ten první vyhozený prvek pole, nikoli nové pole.
Kubo2
Profil
Ladicek:
A jak toho mohu docílit?
Napríklad použitím natívnej funkcie array_slice():

<?php

echo(
   implode(
      "|", 
      array_slice(
         $category, 
         1, 
         count($category) // kompatibilita s PHP =< 5.2.4
      )
   )
);

Mrkni aj na funkčnú živú ukážku.
freddy565
Profil
Kubo2:
array_slice ($category, 1) - treti parametr lze vynechat a netreba slozite dopocitavat delku puvodniho pole- ti ve vysledku vrati totez, co array_shift($ category)
V obou pripadech je vraceno NOVE pole.
dovolim si citaci z PHP manualu:
array_shift — Shift an element off the beginning of array
Joker
Profil
freddy565:
V obou pripadech je vraceno NOVE pole.
dovolim si citaci z PHP manualu:
array_shift — Shift an element off the beginning of array

Příště to chce v tom manuálu neskončit na prvním řádku:
Return Values
Returns the shifted value, or NULL if array is empty or is not an array.


tj. array_shift nevrací nové pole, ale modifikuje to původní.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: