我怎样才能逃脱这个:var tab_mois_nb_match = <?php ".json_encode($tab_mois_nb_match)." ;?> ;
我有一个代码错误,但数组是在 conle.log 中用 sussess 生成的,这太疯狂了。
foreach($tab_bases2 as $key => $univers){
$tab_nb_match_par_user = users_nb_match($univers);
$tab_mois_nb_match = mois_nb_match($univers);
echo "<div id='".$univers."' ></div>";
echo "<script type='text/JavaScript'>
var tab_mois_nb_match = <?php ".json_encode($tab_mois_nb_match)." ;?> ;
var line3 = [];tab_date = [];
for(var v in tab_mois_nb_match){
line3.push([v,Number(tab_mois_nb_match[v])]);
tab_date.push(v[0]+v[1]+v[2]+v[3]);
}
console.log(tab_mois_nb_match);
</script>";
}
最佳答案
您正在将内联 PHP 与 PHP 命令(echo)混合在一起。
当您回显字符串时,您可以像平常一样进行操作,这意味着您可以混合文字字符串(您手动输入的 js)和函数的输出(例如本例中的 json):
echo "<script type='text/JavaScript'>
var tab_mois_nb_match = ".json_encode($tab_mois_nb_match)." ;
var line3 = [];tab_date = [];
for(var v in tab_mois_nb_match){
line3.push([v,Number(tab_mois_nb_match[v])]);
tab_date.push(v[0]+v[1]+v[2]+v[3]);
}
console.log(tab_mois_nb_match);
</script>";
字符串就是字符串。
编辑: 不过,在这一点上,我应该补充一点,如果您需要在插入字符串之前对某些内容进行评估,只需在其周围放置一些括号即可。
echo "<script type='text/JavaScript'>
var tab_mois_nb_match = ".(json_encode($tab_mois_nb_match)+4)." ;
var line3 = [];tab_date = [];
for(var v in tab_mois_nb_match){
line3.push([v,Number(tab_mois_nb_match[v])]);
tab_date.push(v[0]+v[1]+v[2]+v[3]);
}
console.log(tab_mois_nb_match);
</script>";
好吧,+4 是一个不好的例子,但举例来说,您需要将一个函数的输出插入到另一个函数中......方括号就是解决这个问题的方法。
最后,并非所有功能都可以这样工作。有时,您只需将函数的输出保存到变量中,然后将该变量插入到字符串中。
关于javascript - 如何使用javascript转义echo中的php代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977158/