分配给布尔值的变量不会回显到 PHP 中的网页

我有一些 PHP 代码应该检查是否分配了 $_GET 全局中的某个值。如果不是,它会自动输入一个预定值。如果存在,它会为变量分配一个默认值:


<?php

if(!isset($spaceObjects)){

  $spaceObjects = 0;

} else{

  $spaceObjects = $_GET['spaceObjects'] == true;

}

if(!isset($numOfStars)){

  $numOfStars = 100;

} else{

  $numOfStars = intal($_GET['numOfStars']);

}

if(!isset($starTwinkles)){

  $starTwinkles = 0;

} else{

  $starTwinkles = ($_GET ['starTwinkles'] == true);

}

if(!isset($numOfMeteorsMax)){

  $numOfMeteorsMax = 8;

} else{

  $numOfMeteorsMax = intval($_GET['numOfMeteorsMax']);

}

if(!isset($twinklePausing)){

  $twinklePausing = 1;

} else{

  $twinklePausing = ($_GET['twinklePausing'] == true);

}

if(!isset($nightCycle)){

  $nightCycle = 0;

} else{

  $nightCycle = ($_GET['nightCycle'] == true);

}

if(!isset($music)){

  $music = 1;

} else{

  $music = ($_GET['musicEnabled'] == true);

}

if(!isset($nightSounds)){

  $nightSounds = 0;

} else{

  $nightSounds = ($_GET['nightSounds'] == true);

}

if(!isset($nightSoundsVol)){

  $nightSoundsVol = 0.1;

} else{

  $nightSoundsVol = intval($GET['nightSoundsVol']);

}

?>

let controlVariables = {

  spaceObjects: <?php echo $spaceObjects;?>,

  numOfStars: <?php echo $numOfStars;?>,

  starTwinkles: <?php echo $starTwinkles;?>,

  numOfMeteorsMax: <?php echo $numOfMeteorsMax;?>,

  disableTwinklingWhileSpaceObjectGenerated: <?php echo $twinklePausing;?>,

  nightCycle: <?php echo $nightCycle;?>,

  music: <?php echo $music;?>,

  nightSounds: <?php echo $nightSounds;?>,

  nightSoundsVol: <?php echo $nightSoundsVol;?>

};

奇怪的是,PHP 在某些语句中什么也没给我echo,导致 JS 抛出语法错误。


为什么不是打印true或falsePHP 在某些领域没有给我任何帮助?


慕尼黑5688855
浏览 68回答 1
1回答

红糖糍粑

尝试用条件替换 echo 以输出特定文本而不是变量本身。Echoed boolean 为真时输出 1,当变量为假时不输出任何内容。例如:let&nbsp;controlVariables&nbsp;=&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;spaceObjects:&nbsp;<?php&nbsp;echo&nbsp;($spaceObjects)?&nbsp;'true'&nbsp;:&nbsp;'false';?>, ... }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript