Autor Zpráva
IdemeNaHavaj
Profil
Ahoj
niesom si istý či sa to naozaj nazýva "inline" array ale iný názov ma nenapadol. No tu je to čo sa chcem opýtať:
v PHP verzie 5.5 mi funguje:
$array = ["foo", "bar"];
echo explode(",", $array)[0]; // foo
ale prečo vo verzií 7 vypisuje chybu že unexpected [ .. ?
Dan Charousek
Profil
IdemeNaHavaj:
To je nějaký divný ne?

Proč bys pole $array ještě jednou rozděloval podle čárky?

Jestli máš na mysli:

$string = "foo,bar";
echo explode(",", $string)[0]; // foo

tak to funguje.
IdemeNaHavaj
Profil
Dan Charousek:
no už to zrazu funguje ešte včera to nešlo :D
Joker
Profil
IdemeNaHavaj:
Ten kód přece nemůže fungovat.
Jednak teda do PHP 5.4 by každý z těch řádků generoval tu chybu s hranatou závorkou.

Pro vyšší verze by to mělo nevypsat nic a generovat warning, že druhý parametr funkce explode má být string a ne array. Kdyby se tam $array přetypovalo na string, mělo by to vypsat „Array“.

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:

0