2016-04-26 99 views
1

我有這樣的代碼,這返回變量$v,每個$v含有一定字符串(for example: icon1, icon2, icon3, icon4)到Javascript數組PHP值(ACF)添加在foreach循環

 <script type="text/javascript"> 
     var vArr = new array(); 
     </script> 

     <?php 
     $field_key = "field_571e2339a3859"; 
     $field = get_field_object($field_key); 
     if($field) 
     { 
      foreach($field['value'] as $k => $v) 
      { 
       $v = implode('/', $v); 
       ?> 
       <script type="text/javascript"> 
        vArr.push("<?php echo $v; ?>"); 
       </script> 
      <?php } 
     } 
     ?> 

     <script type="text/javascript"> 
     console.log(vArr[0]); 
     </script> 

第一部分創建的JavaScript陣列,所述第二部分爲$v變量賦值,並將其放入數組中,第三部分返回控制檯中數組的第一個值,以進行測試。

,但我得到這兩個錯誤:

(index):325 Uncaught ReferenceError: array is not defined 
(anonymous function) @ (index):325 

(index):328 Uncaught TypeError: Cannot read property 'push' of undefined 
(anonymous function) @ (index):328 

我在做什麼錯?

+0

建設者按照慣例,開始與一個大寫字母'變種vArr =新的Array();'是實際的語法 –

回答

0

我現在用這樣的:

 <script type="text/javascript"> 
     var kek; 
     </script> 

     <?php 
     $field_key = "field_571e2339a3859"; 
     $field = get_field_object($field_key); 
     if($field) 
     { 
      foreach($field['value'] as $k => $v) 
      { 
       $v = implode('/', $v); 
       ?> 
       <script type="text/javascript"> 
       kek += "-<?php echo $v; ?>"; 
       </script> 
      <?php } 
     } 
     ?> 

它的工作原理,但不是我想要它如何工作。

+0

這是如何工作的?你想如何工作? –

+0

好吧,非常簡單。有7個值(icon1到icon7)。我想創建一個if語句,當名稱等於icon1時,顯示icon1。當名稱等於icon2,顯示icon2等。 –

1

嘗試使用這樣的:

<script type="text/javascript"> 
    var vArr = new Array(); 
</script> 
+0

哦,上帝,我是否認真忘記以大寫字母開頭?它現在有效:p –

+0

我詛咒我的眼睛,因爲在我提出奇怪的問題的時候沒有注意到它:P。 @MaartenWolfsen –