将值从 Smarty PHP 数组推送到 JavaScript 数组
Push values from Smarty PHP array to JavaScript array
我正在循环一个数组,其中有一些来自数据库的数据。我想使用 JavaScript 将这些值保存在一个数组中。我希望数组保持其内容,所以当我在另一个脚本标记中使用它时,它仍然有它的值。我真的卡住了。
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr = [
[{$car_pos['longitude']}, {$car_pos['latitude']}]
];
console.log(arr);
</script>
{/foreach}
我写的代码将值保存在两个不同的数组中(因为 $car_owner
数组有两个来自数据库的索引)我不希望它发生。当我在另一个脚本标签中输出数组时,它只显示保存在数组中的最后一个索引,而不是全部内容。
** 已解决 **
矢量声明应该在 Smarty 循环之外!
- 我不得不改为声明一个向量。
- 将每个元素推送到 Smarty 循环中。
arrayPos.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
试试这个:
<script type="text/javascript">
let arr=[];
</script>
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
</script>
{/foreach}
<script type="text/javascript">
console.log(arr);
</script>
首先:声明一个数组变量,不要在循环中声明一个变量,因为你的代码会出错:
<script type="text/javascript">
let arr=[];
</script>
第二步:放入循环代码,然后将循环值放入您之前声明的数组变量中:
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
</script>
{/foreach}
(可选)最后:如果你想显示你所有的数组变量值,你可以在循环下面添加console.log,不要把console.log放在循环中,如果你把你的console.log 在循环中,那么你只能看到最后一个循环值:
<script type="text/javascript">
console.log(arr);
</script>
我正在循环一个数组,其中有一些来自数据库的数据。我想使用 JavaScript 将这些值保存在一个数组中。我希望数组保持其内容,所以当我在另一个脚本标记中使用它时,它仍然有它的值。我真的卡住了。
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr = [
[{$car_pos['longitude']}, {$car_pos['latitude']}]
];
console.log(arr);
</script>
{/foreach}
我写的代码将值保存在两个不同的数组中(因为 $car_owner
数组有两个来自数据库的索引)我不希望它发生。当我在另一个脚本标签中输出数组时,它只显示保存在数组中的最后一个索引,而不是全部内容。
** 已解决 **
矢量声明应该在 Smarty 循环之外!
- 我不得不改为声明一个向量。
- 将每个元素推送到 Smarty 循环中。
arrayPos.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
试试这个:
<script type="text/javascript">
let arr=[];
</script>
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
</script>
{/foreach}
<script type="text/javascript">
console.log(arr);
</script>
首先:声明一个数组变量,不要在循环中声明一个变量,因为你的代码会出错:
<script type="text/javascript">
let arr=[];
</script>
第二步:放入循环代码,然后将循环值放入您之前声明的数组变量中:
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
</script>
{/foreach}
(可选)最后:如果你想显示你所有的数组变量值,你可以在循环下面添加console.log,不要把console.log放在循环中,如果你把你的console.log 在循环中,那么你只能看到最后一个循环值:
<script type="text/javascript">
console.log(arr);
</script>