我坚持在文本变量(字符串)上附加counter-var(b) - 不是数学 - 只是在JS中的data-var上添加计数器(b)...
示例:
<script type="text/javascript">
<?php
$i=0;
foreach ($sqldata as $data){
echo 'var data'.$i.' =
Array("'.implode('", "', array_map('addslashes', $data)).'");';
$i++;
}
echo 'var data_ges = '.$i.' ;';
?>
for (b=0; b<data_ges; b++){
document.writeln (data+b[1]); // ERROR LINE - How do i escape here ?
}
</script>
谢谢!
答案 0 :(得分:1)
您应该只使用数组而不是尝试动态使用变量名称:
<script type="text/javascript">
var data = [];
<?php
$i=0;
foreach ($sqldata as $data){
echo 'data['.$i.'] =
Array("'.implode('", "', array_map('addslashes', $data)).'");';
$i++;
}
?>
for (b=0, l = data.length; b<l; b++){
document.writeln (data[b]); // ERROR LINE - How do i escape here ?
}
</script>
答案 1 :(得分:1)
您可以使用json_encode函数创建一个javascript-object,您可以轻松地进行迭代。 http://www.php.net/manual/en/function.json-encode.php
答案 2 :(得分:0)
你的php正在制作一组变量,例如data0
,data1
。捕获这些内容的一种方法是将其从this
或全局window
对象中删除:
for (var i = 0; i < data_ges; ++i) {
document.writeln(window['data' + i]);
}
实际上,在PHP中实际创建一个名为data
的数组可能会更好:
var data = [];
<?php
foreach ($sqldata as $data) {
echo 'data.push(' … ');';
}
?>
for (var i = 0; i < data.length; ++i) {
document.writeln(data[i]);
}