内爆功能后得到

时间:2013-10-22 07:41:41

标签: php

我在javascript中使用了php implode方法到一个数组。昨天它工作正常,但现在在firebug中得到SyntaxError: syntax error <br/>

我正确关闭了php标签,但不确定为什么会这样。

function create() {
    var sTop = Math.floor(Math.random() * (windowHeight));
       <?php 
        for ($i = 1; $ i <= 28; $i++) {
            if(${'h'.$i} != NULL) {
                $sel[] = ${'h'.$i};
            } 
        }              
        $format=  implode('","', $sel); ?>
        var selectedImg = new Array("<?php echo $format; ?>");
      }

我正在

之上
var selectedImg = new Array("<?php echo $format; ?>");

当我在FireBug中查看JavaScript时,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

修复..

      function create() {
        var sTop = Math.floor(Math.random() * (windowHeight));
           <?php 
            $sel = array();
            for ($i = 1; $ i <= 28; $i++) {
                if(${'h'.$i} != NULL) {
                    $sel[] = ${'h'.$i};
                } 
            }              
            $format = !empty($sel) ? implode('","', $sel) : ""; ?>
            var selectedImg = new Array("<?php echo $format; ?>");
          }

使用json编码的其他方法

      function create() {
        var sTop = Math.floor(Math.random() * (windowHeight));
           <?php 
            $sel = array();
            for ($i = 1; $ i <= 28; $i++) {
                if(${'h'.$i} != NULL) {
                    $sel[] = ${'h'.$i};
                } 
            }              
           ?>
            var selectedImg = <?php echo json_encode($sel); ?>;
          }