[英]how to escape php code in echo with javascript
我怎么能逃脫這個: var tab_mois_nb_match = <?php ".json_encode($tab_mois_nb_match)." ;?> ;
var tab_mois_nb_match = <?php ".json_encode($tab_mois_nb_match)." ;?> ;
我有一個代碼錯誤,但是在conle.log中生成帶有錯誤的數組,這完全是瘋狂的。
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是一個不好的例子,但是舉例來說,您需要將一個函數的輸出插入另一個函數中……方括號就是解決問題的方法。
最后,並非所有功能都將像這樣工作。 有時,您只需要將函數的輸出保存到變量中,然后將變量插入字符串中即可。
您不能在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>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.