Php 最简单的Javascript If语句不工作
我想在javascript中检查一个php变量,并相应地创建一个数组 我试过这个,但不起作用: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 ?>;
<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在语义上更合适。这与他是否应该使用正确的数组无关,我同意这一点。