Autor Zpráva
err
Profil *
Mám problém s tímto kódem:
function isset_in_array($name, &$array) {
    if (isset($array) && array_key_exists($name, $array))
        return true;
    return false;
}

unset($_SESSION['users']['data']);
isset_in_array('kodovani', $_SESSION['users']['data']);
print_r($_SESSION);

Obsah $_SESSION je docela nečekaný:
    ['users'] => Array
        (
            [data] => 
        )

Aby se uvedený kód stal funkčním(natrvalo se odstranil ten session), stačí odstranit referenci z funkce ( function isset_in_array($name, $array) ). Je to vlastnost nebo chyba php?
Taps
Profil
err:
nemáš tam chybku?
function isset_in_array($name, &$array) {
    if (isset($array) && array_key_exists($name, $array))
        return true;
        else
    return false;
}
Mike8748
Profil
err:
je to vlastnost php. to samo vytváří proměnné které použiješ pokud neexistují

Taps:
není chba. to else tam být nemusí. konstrukce je správná.
err
Profil *
Aha, takže vlastně jediný rozdíl pokud nepoužiju referenci je to, že ta "dočasně" vytvořená proměnná neprobublá až do systému, jo?
err
Profil *
Pokud to použiju bez reference tak nastave další obrovský problém:
Notice: Undefined index: users in .......

Což je logické, protože té funkci se předává přímo ta neexistující hodnota místo toho aby se předala reference někam. Nevíte prosím vás jak by se to dalo napsat, aby to fungovalo tak jak má?

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:

0