Na navigaci | Klávesové zkratky

PHP hádanka II.

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

  1. Havran #1

    avatar

    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…

    před 19 lety | reagoval [2] Marťas [3] David Grudl
  2. Marťas #2

    avatar

    #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??? :)

    před 19 lety | reagoval [3] David Grudl
  3. David Grudl #3

    avatar

    #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.

    před 19 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.


phpFashion © 2004, 2024 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.