【问题标题】:Passing PHP array to JavaScript object array将 PHP 数组传递给 JavaScript 对象数组
【发布时间】:2016-07-11 20:57:48
【问题描述】:

我在数据库中有一个包含三列 prop_noprop_nameprop_sc 的表,我将最后两列的条目移动到 2 个 PHP 数组 $propertyNameList$propertyCodeList 中。 现在我有一个 JavaScript 类 Property 和一个数组 propList。我需要使用

将两个PHP数组中的所有值移动到这个JS数组中
  propList.push(new Property(1,<?php  echo json_encode($propertyNameList[0]); ?>,
                        <?php echo json_encode($propertyCodeList[0]); ?>));

使用 for 循环,其中第一个参数是计数器变量,PHP 数组索引必须随着每次迭代而改变。我该怎么做?

【问题讨论】:

  • 如果下面的答案回答了您的问题,Stack Overflow 的工作方式,您可以通过单击旁边的复选标记“接受”该答案; details here,它将它从未回答的问题列表中删除。但前提是您的问题得到了真正的回答。

标签: javascript php arrays for-loop


【解决方案1】:

我可能会建议你稍微重构一下,但你可以很容易地使用临时并行数组来做到这一点。

在这里,我们将这些并行数组转储到客户端代码中,然后在 JavaScript 中执行循环:

(function() {
    var names = <?php echo json_encode($propertyNameList) ?>;
    var codes = <?php echojson_encode($propertyCodeList) ?>;

    for (var n = 0; n < names.length; ++n) {
        propList.push(new Property(names[n], codes[n]));
    }
})();

或者,如果您更喜欢 PHP 端的循环:

<?php
    $index = 0;
    for ($index = 0; $index < count($propertyNameList); ++$index) {
        echo 'propList.push(new Property(' . json_encode($propNameList[$index]) . ', ' . json_encode($propCodeList[$index]) . '));';
    }
?>

(我认为,我的 PHP 相当弱。)

【讨论】:

  • 感谢您的回答!我这样做并得到了我想要的。
猜你喜欢
  • 2017-10-07
  • 2012-05-27
  • 2017-07-21
  • 2020-07-12
  • 2014-06-11
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 2011-05-16
相关资源
最近更新 更多