我怎样才能逃避这一点: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>";
}
答案 0 :(得分:2)
您正在使用PHP命令(echo)混合内联PHP。
当你回显一个字符串时,你就像正常一样,这意味着你可以混合文字字符串(你手动输入的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是一个不好的例子,但是比如说,你需要将一个函数的输出插入到另一个函数中......括号就是那个诀窍。
最后,并非所有功能都能像这样工作。有时,您只需将函数的输出保存到变量中,然后将变量插入到字符串中。
答案 1 :(得分:2)
你不能在php中声明php。
您可以通过两种方式编写代码:
第一种方法:
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>";
?>
<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
}
?>
第二种方法
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 = ".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>";
}