Php 如何为数组中的每个元素创建变量

Php 如何为数组中的每个元素创建变量,php,Php,我有一个数组 $locations = [ 'name1', 'name2', 'name3', 'name4' ] 现在我想创建变量$location1,$location2 它将保存name1、name2等的值,。。。。分别(即,$location1='name1',$location2='name2',..等等 每当admin添加新位置时,数组就会更新,因此必须自动创建另一个变量来保存数组中新位置的名称 可以用php来完成吗。 原因是我需要访问这些变量,并将它们的值分配给javascri

我有一个数组

$locations = [ 'name1', 'name2', 'name3', 'name4' ]
现在我想创建变量$location1,$location2

它将保存name1、name2等的值,。。。。分别(即,$location1='name1',$location2='name2',..等等

每当admin添加新位置时,数组就会更新,因此必须自动创建另一个变量来保存数组中新位置的名称

可以用php来完成吗。
原因是我需要访问这些变量,并将它们的值分配给javascript变量,以便在映射中显示它们的名称


任何帮助都将不胜感激。

我不知道您为什么要这样做,但我认为最好的方法是使用JSON对象,这样您就可以将数组转换为JSON(JSON_编码,JSON_解码),非常简单,然后您就可以以任何方式处理。

如果您需要单个变量,那么您可以使用此程序

<?php

$locations = ['name1', 'name2', 'name3', 'name4'];

$alocation = array();
$i = 1;
foreach ($locations as $key => $value) {
  $alocation['location' . $i] = $value;
  $i++;
}
extract($alocation);
echo '<pre>'; print_r($alocation); echo '</pre>';
echo $location1 . '--' . $location2 . '--' . $location3 . '--' . $location4;
?>

试试这个

$locations = [ 'name1', 'name2', 'name3', 'name4' ];
foreach ($locations as $key => $val){
${'location'.($key +1)} = $val;
}
echo $location3;
$l=数组('name1','name2','name3','name4');
$length=sizeof($l);
对于($i=0;$i<$length;$i++){
${“位置”。($i+1)}=$l[$i];
}
回显“$location1
$location2
$location3
$location4
”;
输出

名称1 姓名2 名字3
name4

您可以初始化动态变量或使用
提取功能

用于创建动态变量的代码段

name3
输出:

$locations = [ 'name1', 'name2', 'name3', 'name4' ];
extract ($locations, EXTR_PREFIX_ALL, 'location');
echo $location_1;
<?php $location = [....some values in this array...]; ?>

<script>var name = <?php echo json_encode( $location ) ?>;</script>
生活

带前缀的提取代码段

name2
输出:

$locations = [ 'name1', 'name2', 'name3', 'name4' ];
extract ($locations, EXTR_PREFIX_ALL, 'location');
echo $location_1;
<?php $location = [....some values in this array...]; ?>

<script>var name = <?php echo json_encode( $location ) ?>;</script>
生活

注意:前缀从零开始,带下划线。
摘录

很抱歉你们花了这么多时间在这个问题上。 我只需要得到一个从php到javascript的数组

下面的代码正是这样做的


变量名=;
现在,每当php脚本中的数组更新时,javascript中的数组就会自动更新

这就是我想要的

谢谢你们的一票否决


你们真是太棒了(保持下去)

不知道为什么要这样做,这正是阵列的用途,但是(我不建议这样做)-你也应该重新考虑一下你自己写的:“只要管理员添加新位置,阵列就会更新”…一个“管理员”更改某些内容不会直接修改正在执行的脚本中的任何值。请记住,php脚本所服务的请求是在单独的进程或线程中处理的。因此,对我来说,当您从某个资源获取某个数组时,您首先会遇到一个主要的设计缺陷,而您当时并不真正想要使用该数组。我需要访问这些变量并将其值分配给javascript变量。如果不知道存在哪些变量,您将如何执行此操作?使用动态创建的变量可以执行的任何操作几乎都可以使用数组轻松完成。JSON与变量变量有何关系?JSON用于序列化数据,以便传输或删除数据保存后,它与创建新变量无关。“原因是我需要访问这些变量,并将它们的值分配给javascript变量,以便在映射中显示它们的名称。”你认为这是最好的方法吗?在这种情况下,变量是绝对不必要的。我同意,请参阅我在问题本身上发表的评论。但是如果你要回答问题,请按照他们的要求回答。你是在谈论类似
var locations=;
?你应该在回答中显示这一点,而不是在回答中o函数。我没有看到你的评论sry,但我不同意你句子的第二部分,因为我认为我们应该展示正确的方式:)只需注意:P现在最好使用“let”而不是“var”(ES6)。谢谢我更新了动态数组值的答案