Můj blog se přestěhoval. Přesměrovávám…

Měli byste být automaticky přesměrování. Pokud se tak nestane, pokračujte na http://blog.stastnarodina.com/honza/ a upravte si svoje záložky.

pátek 8. února 2008

Ztracená hodina

Právě jsem ztrávil téměř hodinu přemítáním nad tím, jestli je větší tupec PHP nebo já.

Měl jsem kód v tomto smyslu:

$a = array(
                1 =>"one",
                3 =>"two",
                5 => "three"
          );
foreach($a as $key=>&$val) {
        if($key == 3) {
                unset($a[$key]);
        } else {
                $val = 'changed';
        }
        unset($key, $val);

}
print_r($a);
Očekávaný výstup byl:
Array
(
    [1] => changed
    [5] => changed
)
ale já pořád dostával:
Array
(
    [1] => changed
    [5] => three
)

Když už jsem došel do stádia, kdy jsem byl přesvědčen, že větší blbec je PHP, otevřel jsem bugzillu PHP a po chvíli neuspěšného hledání stejné chyby jsem zakládal nový bug report.

Jeden z prvních údajů, které jsem ale musel vyplnit, bylo verze PHP. Používám 5.2.0, což je mimo jiné aktuálně i verze v Debian stable, což je náš hosting. Tato verze ale na výběr nebyla a byl jsem instruován upgradovat na 5.2.5. Pokorně jsem poslechl a stáhl 5.2.5. K mé zlosti se problém v této verzi už neobjevuje. Ani v changelogu jsem ale nenašel žádný záznam, který by se této chyby týkal.

Vzhledem k tomu, že Debian asi jen tak upgradovat nebude, budu muset najít nějaký způsob, jak to obejít.

Štítky: , ,

Komentáře: 0:

Okomentovat

Přihlášení k odběru Komentáře k příspěvku [Atom]

<< Domovská stránka