2016-04-26 66 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 –