Zadejte hledaný výraz...

Je proměnná definována?

pkotala
verified
rating uzivatele
(24 hodnocení)
13. 1. 2008 17:01:47
Myslel jsme, že funkce defined() zjišťuje, zda je proměnná definována (třeba i v jiném souboru). Mám následující kód (hlavička stránky vkládaná do finálních souborů):
global $keywords;
if ( ! defined( $keywords)) {
echo "...".$keywords;
$keywords = $s002;
}
Když si ještě před include_once("head.php") dám do hlavního souboru řádek $keywords="xyz", tak se běh dostane dovnitř a vytiskne "...xyz".
Co mám tedy použít místo defined(), aby mi v případě, že si v jiném souboru nadefinuji proměnnou nešel do uvedeného bloku?
Díky
13. 1. 2008 17:01:47
https://webtrh.cz/diskuse/je-promenna-definovana#reply36666
drago
verified
rating uzivatele
(73 hodnocení)
13. 1. 2008 18:06:51
defined() je na konstanty, použij treba isset()
13. 1. 2008 18:06:51
https://webtrh.cz/diskuse/je-promenna-definovana#reply36665
Mgr. Ivo Toman
verified
rating uzivatele
(7 hodnocení)
13. 1. 2008 18:48:37
nebo empty pokud si jí už nastavil například přes $_POST
13. 1. 2008 18:48:37
https://webtrh.cz/diskuse/je-promenna-definovana#reply36664
Mirun
verified
rating uzivatele
(13 hodnocení)
14. 1. 2008 15:27:09
defined(název) je pouze dotaz, zda byla globální konstanta definována příkazem define('název',hodnota);
Pakliže před/za řádek $keywords='xyz' dáš define('xyz',true) tak ti to bude fungovat, ale nepřijde mi to účelné vzhledem k tomu zbytku kódu.
Výhoda define: nemusíš používat global, protože xyz je platné všude
Ne/výhoda define: hodnotu, kterou nastavíš poprvé, nelze změnit
14. 1. 2008 15:27:09
https://webtrh.cz/diskuse/je-promenna-definovana#reply36663
pkotala
verified
rating uzivatele
(24 hodnocení)
14. 1. 2008 21:28:06
isset zabral
14. 1. 2008 21:28:06
https://webtrh.cz/diskuse/je-promenna-definovana#reply36662
Pro odpověď se přihlašte.
Přihlásit