我在模型中使用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。以上确实有效,但我知道这不是正确的方法)
您可以使用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