2013-10-22 59 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