我想检查javascript中的php变量,并相应地创建一个数组。

我试过了,但是没有用:

<script language="Javascript" type="text/javascript">
            var phpvar1_large = <?php echo $var1_large ?>;
            var phpvar2_large = <?php echo $var2_large ?>;
            var phpvar3_large = <?php echo $var3_large ?>;
            var phpvar4_large = <?php echo $var4_large ?>;

            if(!phpvar1_large){
            var imgArray = new Array(
                '<?=$main_img; ?>'
                );
            }else if(!phpvar2_large){
                var imgArray = new Array(
                '<?=$main_img; ?>',
                '<?=$var1_large; ?>'
                );
            }else if(!phpvar3_large){
            var imgArray = new Array(
                '<?=$main_img; ?>',
                '<?=$var1_large; ?>',
                '<?=$var2_large; ?>',
                '<?=$var3_large; ?>'
                );
            }else if(!phpvar4_large){
                var imgArray = new Array(
                '<?=$main_img; ?>',
                '<?=$var1_large; ?>',
                '<?=$var2_large; ?>',
                '<?=$var3_large; ?>'
                );
            }else if(phpvar4_large){
            var imgArray = new Array(
                '<?=$main_img; ?>',
                '<?=$var1_large; ?>',
                '<?=$var2_large; ?>',
                '<?=$var3_large; ?>',
                '<?=$var4_large; ?>'
            );
            }
</script>

但是,如果我不使用if语句,则会正确创建数组:
<script language="Javascript" type="text/javascript">
            var imgArray = new Array(
                '<?=$main_img; ?>',
                '<?=$var1_large; ?>',
                '<?=$var2_large; ?>',
                '<?=$var3_large; ?>',
                '<?=$var4_large; ?>'
            );
</script>

非常感谢您的帮助!

最佳答案

我很确定您的问题是您通过php编写的 bool(boolean) 值不会被解释为 bool(boolean) 值,而是字符串,这就是为什么它总是被评估为false的原因。

你应该写var phpvar1_large = <?php echo json_encode($var1_large); ?>;
别客气!

10-05 21:18
查看更多