【问题标题】:Add PHP value (ACF) to Javascript array in foreach loop在 foreach 循环中将 PHP 值 (ACF) 添加到 Javascript 数组
【发布时间】:2016-08-19 20:39:43
【问题描述】:

我有这段代码,它返回变量$v,每个$v包含一个特定的字符串(for example: icon1, icon2, icon3, icon4)

        <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

我做错了什么?

【问题讨论】:

  • 构造函数按约定以大写字母开头var vArr = new Array(); 是实际语法

标签: javascript php arrays variables


【解决方案1】:

我现在正在使用这个:

        <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 }
         }
         ?>

它可以工作,但不是我想要的工作方式。

【讨论】:

  • 嗯,非常简单。有 7 个值(icon1 到 icon7)。我想创建一个if语句,当名称等于icon1时,显示icon1。当名称等于icon2时,显示icon2等
【解决方案2】:

试试这个:

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

【讨论】:

  • 天哪,我真的忘记以大写开头了吗?它现在可以工作了:p
  • 我诅咒我的眼睛,因为我在问奇怪的问题时没有注意到它:P。 @MaartenWolfsen
猜你喜欢
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 2016-01-30
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
相关资源
最近更新 更多