0

我使用php implode方法对javascript中的一个数组进行了处理。昨天它工作正常,但现在正在进入 SyntaxError: syntax error <br/>firebug。

我正确关闭了 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 时。有人可以帮忙吗?

4

1 回答 1

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); ?>;
          }
于 2013-10-22T07:59:42.073 回答