0

我在模型中使用 API 数据,然后将其传递给控制器​​进行查看。在一个特定的情况下,我需要执行一个 foreach() 循环,但在 javascript 中获取我需要的数据,请参阅下面我是如何完成的。

我知道这是不好的做法,但想知道实现这一目标的最佳做法是什么,所以我知道继续前进。

categories: [<?php foreach($champ_name as $champ_id => $stat_value) {
               foreach ($stat_value as $cn => $cs) {
                   if($champ_id != 0) {
                       echo '"'.$cn.'",';
                   }
               } 
            } ?>]

感谢您的关注/帮助。

(PS。上面确实有效,但我知道不是正确的方法)

4

1 回答 1

2

您可以使用json_encode()将其转换为 Javascript 可以使用的对象或数组。

categories: <?php echo json_encode($myThing); ?>

为了您的使用,您仍然需要您的 foreach 逻辑来构建一个要进行 json 编码的数组。

如果您像在问题中那样手动构建数组,则需要注意特殊字符,以免破坏数组并导致语法错误。例如,如果您的任何一个$cn包含双引号,则会产生语法错误。json 编码的好处是任何特殊字符都将被处理,而无需您处理它们。

例子:

$arr = array('abc', 3, 'te"xt', 6);
echo json_encode($arr);

输出

["abc",3,"te\"xt",6]
            ^ qoute has been automatically escaped
于 2013-06-20T16:14:30.810 回答