Diskuze: php7.2 vícerozměrná pole
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Mně to normálně funguje v php 7.2...
Dostaneš to vůbec tím postem? Jakože dostane se to vůbec na server? Pořádně si projdi jednotlivé kroky, kterými se to má dostat do té proměnné, i kdyby sis byl jistý, že to funguje. Ve verzi PHP určitě problém nebude.
Díky za reakce. Taky je mi divné, že by php7.2 neodladili dobře. Je tu otázka, v jakém prostředí php běží. Uvádím, že chyba (nejen ta jedna) se objevila v Linuxu Lite, která je teď nová (4.0). Celý projekt php běžící v prostředí LM17.3, převodem do LM18.3 bez problémů a spolehlivě funguje do Lite hned havaruje. Popisované vývojové změny v 7.2 nepoužívám. Lite má natvrdo instalaci konfigurace php7.2 z repozitářů Synaptic, takže je otázka, jak se dostanu ke knihovnám php7.2. Možná to právě proto ve Windows funguje, repozitáře jsou jiné.
Chybu jsem extrahoval do vzorového příkazu s poli proto, že s HTML to nemá nic společného. Příkaz v 18.3 je plně funkční a stabilní, v Lite je chybný. Probral jsem spoustu možností, krokování, plnou čerstvou instalaci na nový lokální disk a výsledek je nulový.
Píšu to kvůli tomu, že Mint chystá svou novou verzi a používá jiné repozitáře (ověřené). Tak snad to dopadne lépe, než u Linuxu Lite.
Jako, obvykle pouzivam taky tvoji konstrukci. Muzes to zkusit napsat takto, pokud je to problem tveho php
//$i['ii']=array('b'=>'bb','c'=>'cc','e'=>array('f'=>'ff'));
$x = array('f'=>'ff');
$i['ii'] = array('b'=>'bb', 'c'=>'cc', 'e'=>$x);
Díky, ale nepomohlo to. Jediné zatím pro mne funkční řešení je
použít funkci serialize(pole).
Je to ale zase komplikace s deserializací.
Mne by ale zajímalo, zda to někdo řešil v tom Linuxu Lite. Ne jen teoreticky odpovídat.
Ještě bych vyzkoušel modernější zápis pole, který je v PHP 7+.
$i = [];
$i['ii'] = ['b' => 'bb', 'c' => 'cc', 'e' => ['f' => 'ff']];
print_r($i);
Děkuji všem za pomoc.
Můj problém byl ve špatné deklaraci polí jako string, což dříve
vyhovovalo. Dále v each->foreach.
Takže je už vše OK. Včetně nové verze Linux Mint19 (zatím beta), Taky je
dobrá rada Mirka na zápis pole.
Děkuji.
Zobrazeno 8 zpráv z 8.