javascript图中使用的PHP数组数据 - codeigniter

我在模型中使用API​​数据,然后传递给控制器​​然后进行查看。 在一个特定的实例中,我需要做一个foreach()循环但是在javascript中获取我需要的数据,请看下面我是如何做到的。</ p>

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

  categories:[&lt;?php foreach($ champ_name as $ champ_id =&gt; $  stat_value){
foreach($ stat_value as $ cn =&gt; $ cs){
if($ champ_id!= 0){
echo'“'。$ cn。'”,';
</ code> </ pre>

感谢您寻找/帮助。</ p>

(PS。以上确实有效但是 我知道这不是正确的方式)</ p>
</ div>



I am using API data in a model which is passed through to a controller then to view. In one particular instance I need to do a foreach() loop but in javascript to get the data I need, please see below how I've done it.

I know this is bad practice but wanted to know what the best practice is to achieve this so I know going forward.

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

Thanks for looking/helping.

(PS. the above does work but I know is not the right way)

doumiebiao6827 使用json_encode()而不是手工构建脆弱的字符串......
大约 7 年之前 回复


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

  categories:&lt;?php echo json_encode($ myThing);  ?&gt; 
</ code> </ pre>

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

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

示例:</ p>

   $ arr = array('abc',3,'te“xt',6); 
echo json_encode($ arr);
</ code> </ pre>

输出</ p>

  [“abc”,3,“te \”xt“,6] 
^ qoute已自动转义
</ code> </ pre>
</ div>



You can use json_encode() to convert it into an object or array that Javascript can use.

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

For your use, you would still need your foreach logic to build an array to be json encoded.

If you build the array manually like in your question, you need to be mindful over special characters from breaking the array and causing syntax errors. For example if any of your $cn contained a double quote, it would produce a syntax error. The benefit of json encoding it is that any special characters will be taken care of without you having to handle them.


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


            ^ qoute has been automatically escaped

dt888999 是的,JSON是有效的javascript语法,因此您可以将其直接回显到Javascript代码中并正常使用它(确保将其分配给变量)。
大约 7 年之前 回复
dongwaner1367 很酷这很有帮助 - 我回家后会这样做。 所以在将它编码成json后,我会像上面那样做一个javascript foreach吗?
大约 7 年之前 回复
Csdn user default icon