значения переменных boolean в PHP для реализации javascript

Я столкнулся с нечетной проблемой в скрипте PHP, который я пишу. Я уверен, что есть простой ответ, но я этого не вижу.

Я вытаскиваю некоторые вары из БД с помощью PHP, а затем передаю эти значения в Javascript, который динамически создается на PHP. Что-то вроде этого:

$myvar = (bool) $db_return->myvar; $js = "<script type=text/javascript> var myvar = " . $myvar . "; var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar'; </script>"; 

Проблема в том, что если логическое значение в БД для «myvar» равно false , то экземпляр myvar в $ js имеет значение null, а не false , и это нарушает скрипт.

Есть ли способ правильно передать значение false в переменную myvar?

Благодаря!

Solutions Collecting From Web of "значения переменных boolean в PHP для реализации javascript"

используйте json_encode() . Он преобразует из родных типов PHP в собственные типы Javascript:

 var myvar = <?php echo json_encode($my_var); ?>; 

и также позаботится о любом ускорении, необходимом, чтобы превратить это в действительный javascript.

Это самое простое решение:

Просто используйте var_export ($ myvar) вместо $ myvar в $ js;

 $js = "<script type=text/javascript> var myvar = " . var_export($myvar) . "; var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar'; </script>"; 

Примечание. Var_export () совместим с PHP 4.2.0+

 $js = "<script type=text/javascript> var myvar = " . ($myvar ? 'true' : 'false') . "; var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar'; </script>";