2013-10-22 76 views
0

我用php implode方法内javascript.yesterday数组它是工作正常,但现在我得到SyntaxError: syntax error <br/>在萤火虫。获取<br />后implode函数

我正确关闭了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; ?>"); 

上空时,我看到了JavaScript的在FireBug.Can谁能帮助?

+0

其它方法显示整个代码。 – user2092317

+0

从代码提供那里不能说任何关于一个错误,请提供更多的代码 – DanFromGermany

+0

好吧等一下 – sun

回答

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); ?>; 
      } 
+0

感谢您在评论中提问'$ sel'为空,因为我没有在管理界面中选择任何选项来设置'$ sel'的值。这是它背后的问题。昨天有人检查这是为什么混乱。 @ Svetlio – sun

+0

顺便说一句,你的JSON没有给出正确的输出。我刚刚发现了一个新的数组:var selectImg = new Array(“1”,“8”);''我选择这个数组,为了运行没有bug – sun

+0

为什么你设置“新阵列()”..?其已与json_encode阵列>> 新阵列(“1”,“8”)== [1,8] – Svetoslav