Dnes to bude spíš oddechovka. Otázka zní: co se stane s polem
$a
v bodech 1 a 2?
$a = array(1 => 'první');
// bod 1
$ref = & $a[2];
// bod 2
$ref = 'druhá';
Na navigaci | Klávesové zkratky
Dnes to bude spíš oddechovka. Otázka zní: co se stane s polem
$a
v bodech 1 a 2?
$a = array(1 => 'první');
// bod 1
$ref = & $a[2];
// bod 2
$ref = 'druhá';
Komentáře
Havran #1
Zaujimave :) V bode 1 pribudne do pola prvok 2 ⇒ '' a v bode 2 bude naplneny 2 ⇒ ‚druhá‘… Ked som sa nad tym zamyslal tak mi vychadzalo ze sa nic nestane lebo kluc dva v poli nie je ale vyzera to tak ze pri pouziti odkazu na neexistujuci prvok pola sa tento automaticky vytvori…
Marťas #2
#1 Havrane, …a to se děje proto, protože PHP automaticky inicializuje proměnné při jejich prvním použití a vkládá do nich výchozí hodnoty – nic. Pokud je pak tato hodnota npř. tisknuta fcí echo a je tedy očekáván řetězec, je tato hodnota interpretována jako prázný řetězec. Kdyby bale byla použita při matematické operaci…tak by tam asi byla nula??? :)
David Grudl #3
#1 Havrane, #2 Marťas Velmi správně. Operace
&
inicializuje neexistující proměnné na hodnotu null. A jak se null převádí na jiné typy pěkně ukazuje tato tabulka.Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.