Autor Zpráva
MaK
Profil
Může mi někdo znalý vysvětlit, proč kód:

$row = false;
        
if ($row['x'] < 100)
{...}

nevyhazuje "Notice: Undefined index: x"?

MaK
Tori
Profil
„The behaviour of an automatic conversion to array is currently undefined.“ (manuál)
Zajímavé, chová se to, jako kdyby se logická hodnota přetypovala na řetězec a ne pole, přestože výsledkem (array) $row je:

array (size=1)
  0 => boolean false
(což je v souladu s manuálem)
Jan Tvrdík
Profil
Tori:
Zajímavé, chová se to, jako kdyby se logická hodnota přetypovala na řetězec a ne pole
Nikoliv, kdyby $row bylo pole, tak to od PHP 5.4 bude házet warning.

Viz také mini test.

MaK:
Na tohle se spíš vztahuje tvrzení „Accessing variables of other types (not including arrays or objects implementing the appropriate interfaces) using [] or {} silently returns NULL.“ (manuál).
MaK
Profil
Jan Tvrdík:
Zajímavé, ale přijde mi dosti nešťastné. Asi nejde PHP přinutit aby chybovou hlášku házelo?
Jan Tvrdík
Profil
MaK:
Ne, bohužel.

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: