Php 最简单的Javascript If语句不工作

Php 最简单的Javascript If语句不工作,php,javascript,if-statement,Php,Javascript,If Statement,我想在javascript中检查一个php变量,并相应地创建一个数组 我试过这个,但不起作用: <script language="Javascript" type="text/javascript"> var phpvar1_large = <?php echo $var1_large ?>; var phpvar2_large = <?php echo $var2_large ?>;

我想在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>

var phpvar1_large=;
var phpvar2_large=;
var phpvar3_large=;
var phpvar4_large=;
如果(!phpvar1_大){
var imgArray=新数组(
''
);
}否则如果(!phpvar2_大){
var imgArray=新数组(
'',
''
);
}否则如果(!phpvar3_大){
var imgArray=新数组(
'',
'',
'',
''
);
}否则如果(!phpvar4_大){
var imgArray=新数组(
'',
'',
'',
''
);
}否则如果(phpvar4_大){
var imgArray=新数组(
'',
'',
'',
'',
''
);
}
但是,如果我不使用if语句,则会正确创建数组:

<script language="Javascript" type="text/javascript">
            var imgArray = new Array(
                '<?=$main_img; ?>',
                '<?=$var1_large; ?>',
                '<?=$var2_large; ?>',
                '<?=$var3_large; ?>',
                '<?=$var4_large; ?>'
            );
</script>

var imgArray=新数组(
'',
'',
'',
'',
''
);

我非常感谢你的帮助

我强烈建议只对数组进行JSON编码

$imgArray = array('img1.jpg', 'img2.jpg', etc);
echo 'var imgArray = ' . json_encode($imgArray);

我很确定您的问题是,您通过php编写的布尔值不是被解释为布尔值,而是字符串,这就是为什么它总是被评估为false。

您应该编写
var phpvar1_large=


不客气

请发布生成的HTML,而不是PHPcontext@Asad,开关箱在这里绝对不合适。首先简单地处理一个合适的数组是一种方法。你真的应该处理这些情况serverside@Bradswitch构造是专门为需要基于单个变量的值执行不同的语句集而设计的。使用多个if/elseif在语义上更合适。这与他是否应该使用正确的数组无关,我同意这一点。