jquery如何打破字符串并继续字符串

时间:2014-03-03 15:50:45

标签: php jquery

我试图在我的php变量中获取循环i变量

var monthyear[i] = "<?php echo $startmonth_name"+i+" ?>";

所以它会显示如下:

 var monthyear[i] = "<?php echo $startmonth_name1 ?>";
 var monthyear[i] = "<?php echo $startmonth_name2 ?>";

无法理解,我不断收到错误:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' 

3 个答案:

答案 0 :(得分:1)

改为:

<?php echo "var monthyear["+i+"] = '"+ $startmonth_name[i]+"';"; ?>;

将这些更改为数组以在循环中使用它们:$ startmonth_name1

答案 1 :(得分:1)

javascript中的循环不能用于我的评论中提到的原因,你可以尝试在PHP代码中进行循环,如下所示。

将其替换为

var monthyear[i] = "<?php echo $startmonth_name1 ?>";
var monthyear[i] = "<?php echo $startmonth_name2 ?>";

使用

<?php 

for($i=0;$i<some_value;$i++)
{
   echo "var monthyear[".$i."] = ". ${'startmonth_name'.$i} .";"
}

?>

注意:我没有测试过代码。这只是为了提出一个想法。

答案 2 :(得分:0)

立即忘记JavaScript。 JavaScript将在稍后的另一台计算机中执行,可能在几千公里之外。你得到一个PHP解析错误:这意味着你的PHP代码甚至没有运行。而且很清楚为什么 - 这段代码中包含的PHP块:

var monthyear[i] = "<?php echo $startmonth_name"+i+" ?>";

......是这样的:

echo $startmonth_name"+i+"

你可能会逃避这样的事情:

var monthyear[i] = <?php echo json_encode($startmonth_name); ?>+i;

但我建议你记住,PHP和JavaScript既不会交互也不会共享变量,并相应地重新思考你的逻辑。