Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组到javascript循环与json_编码_Javascript_Php_Jquery_Arrays_Laravel - Fatal编程技术网

PHP数组到javascript循环与json_编码

PHP数组到javascript循环与json_编码,javascript,php,jquery,arrays,laravel,Javascript,Php,Jquery,Arrays,Laravel,大家好,我是一个新手拉威尔开发,在我的刀片我有一个php变量$x,这是一个数组 我的问题是什么是最好的方法以及何时应用每种方法 我的第一种方法是使用foreach循环,例如: <script> var javascript = []; @foreach($x as $value) javascript[$loop->index] = $value; @endforeach </script> var

大家好,我是一个新手拉威尔开发,在我的刀片我有一个php变量$x,这是一个数组

我的问题是什么是最好的方法以及何时应用每种方法

我的第一种方法是使用foreach循环,例如:

 <script>
  var javascript = [];
        @foreach($x as $value)
          javascript[$loop->index] = $value;
        @endforeach
  </script>

var javascript=[];
@外汇($x为$value)
javascript[$loop->index]=$value;
@endforeach
我的第二种方法是使用@json或json_encode

<script>
  var javascript = @json($x);
</script>

var javascript=@json($x);
什么方法最好??何时应用不同的方法

很抱歉这个新手问题!!
谢谢你的帮助。

最简单的方法就是像使用
@JSON
一样使用JSON。这是非常安全的,因为JSON语法总是适用于有效的JavaScript表达式

文档中甚至提到了它,在下面


您的第一个示例不必要地复杂,而且只适用于数字索引数组,因此PHP的关联数组不会像预期的那样工作。

这是一个广泛的问题,但JSON总是会更加健壮。例如,在第一个代码示例中,密钥和值都存在一个微不足道的字符串注入漏洞。为什么不在控制器中执行
json_encode()
,并将json传递给已设置的刀片服务器呢?我想这取决于首选项,但最好使用json_encode方法,因为它每次都会为您提供有效/可解析的javascript。json encode将把数组组成json字符串,同时数组元素初始化将创建元素值,那么如何比较两种不同的值类型呢?谢谢大家的回答谢谢大家的回答