如何使用javascript在echo中转义php代码
我怎样才能避免这种情况:如何使用javascript在echo中转义php代码,javascript,php,Javascript,Php,我怎样才能避免这种情况:var tab_mois_nb_match= 我有一个代码错误,但是数组是用conle.log中的susses生成的,这太疯狂了 foreach($tab_bases2 as $key => $univers){ $tab_nb_match_par_user = users_nb_match($univers); $tab_mois_nb_match = mois_nb_match($un
var tab_mois_nb_match=代码>
我有一个代码错误,但是数组是用conle.log中的susses生成的,这太疯狂了
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>";
}
foreach($tab_bases2 as$key=>$univers){
$tab_nb_match_par_user=users_nb_match($univ);
$tab_mois_nb_match=mois_nb_match($univers);
回声“;
回声“
var tab_mois_nb_match=;
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
";
}
您正在将内联PHP与PHP命令(echo)混合使用
在回显字符串时,您可以像正常情况一样进行回显,这意味着您可以将文字字符串(手动键入的js)和函数输出(如本例中的json)混合使用:
echo”
var tab_mois_nb_match=“.json_encode($tab_mois_nb_match)。”;
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
";
字符串就是字符串
编辑:
不过,在这一点上,我应该补充一点,如果您需要在插入字符串之前对某些内容进行评估,只需在其周围放一些括号
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>";
echo”
var tab_mois_nb_match=“(json_编码($tab_mois_nb_match)+4”);
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
";
好的,+4是一个糟糕的例子,但是举个例子,你需要将一个函数的输出插入到另一个函数中。。。括号是起作用的
最后,并非所有函数都是这样工作的。有时,您只需将函数的输出保存到变量中,然后将变量插入字符串。您将内联PHP与PHP命令(echo)混合使用
在回显字符串时,您可以像正常情况一样进行回显,这意味着您可以将文字字符串(手动键入的js)和函数输出(如本例中的json)混合使用:
echo”
var tab_mois_nb_match=“.json_encode($tab_mois_nb_match)。”;
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
";
字符串就是字符串
编辑:
不过,在这一点上,我应该补充一点,如果您需要在插入字符串之前对某些内容进行评估,只需在其周围放一些括号
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>";
echo”
var tab_mois_nb_match=“(json_编码($tab_mois_nb_match)+4”);
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
";
好的,+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($univ);
$tab_mois_nb_match=mois_nb_match($univers);
回声“;
?>
var tab_mois_nb_match=;
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
第二种方法
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>";
}
foreach($tab_bases2 as$key=>$univers){
$tab_nb_match_par_user=users_nb_match($univ);
$tab_mois_nb_match=mois_nb_match($univers);
回声“;
回声“
var tab_mois_nb_match=“.json_encode($tab_mois_nb_match)。”;
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
";
}
不能在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($univ);
$tab_mois_nb_match=mois_nb_match($univers);
回声“;
?>
var tab_mois_nb_match=;
变量行3=[];制表符日期=[];
用于(选项卡中的变量v\u mois\u nb\u匹配){
第3行。推送([v,编号(制表符匹配[v]);
制表符日期推送(v[0]+v[1]+v[2]+v[3]);
}
控制台日志(制表符匹配);
第二种方法
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>";
}
foreach($tab\u基)