2

我无法创建从 php 数组出现的 javascript 数组。这就是我尝试的方式。

我的 PHP 数组名为 $samlet。

这是我的输出:

    Array ( [0] => Array ( [m_field_id_8] => ) [1] => Array ( [m_field_id_8] => ) [2] => Array ( [m_field_id_8] => 10102a ) [3] => Array ( [m_field_id_8] => 10180a ) [4] => Array ( [m_field_id_8] => 10210a ) [5] => Array ( [m_field_id_8] => 10212a ) [6] => Array ( [m_field_id_8] => 10242a ) [7] => Array ( [m_field_id_8] => 10248a ) [8] => Array ( [m_field_id_8] => 10258a )

我希望它转换为 javascript 数组。

但在我这样做之前,我尝试了一个模型 javascript 数组,效果很好。

<script>
var availableTags = [
"Test1",
"Test2",
"Test3",
"Test4",
"Test5",
];

现在我想改用我的 php 数组。这就是我尝试的方式。但这不起作用。为什么会这样?

    <?php 
    foreach($samlet as $category => $value) 
    {
    ?>
    var availableTags = [<?php echo $value['m_field_id_8']; ?>]
    <?php
    }
    ?>
</script>
4

3 回答 3

3

您可以使用 json_encode 创建 JSON 数组

echo 'var availableTags = ' . json_encode(array_map(function($value) {
   return $value['m_field_id_8'];
}, $samlet));
于 2013-03-16T13:54:23.103 回答
2

它应该是foreach($samletas as $category => $value)

var availableTags = [];
availableTags.push(<?php echo $value['m_field_id_8']; ?>);

如果$value['m_field_id_8']字符串类型引用它是这样的:

availableTags.push("<?php echo $value['m_field_id_8']; ?>");
于 2013-03-16T13:46:11.927 回答
1

在循环之外声明一个数组

var availableTags = [];

然后在您的迭代中:

availableTags.push(<?php echo $value['m_field_id_8']; ?>);

并添加as您的foreach

foreach($samletas as $category => value);
于 2013-03-16T13:48:51.233 回答