我有一个数组
$locations = [ 'name1', 'name2', 'name3', 'name4' ]
现在我要创建变量,例如$ location1,$ location2,...
将分别保存name1,name2,....(即$ location1 ='name1',$ location2 ='name2',.....等)的值
每当管理员添加新位置时,阵列都会更新,因此必须自动创建另一个变量以保存阵列中新位置的名称。
可以使用php完成吗? 原因是我需要访问这些变量并将其值分配给javascript变量,以便在地图中显示其名称。
任何帮助将不胜感激。
答案 0 :(得分:0)
如果要使用单个变量,则可以使用此程序。
<?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;
?>
答案 1 :(得分:0)
尝试
$l = array('name1', 'name2', 'name3', 'name4');
$length = sizeof($l);
for ($i = 0; $i < $length; $i++){
${"location".($i+1)} = $l[$i];
}
echo "$location1<br />$location2<br />$location3<br />$location4<br />";
输出
名称1 名称2 名称3 名称4
答案 2 :(得分:0)
您可以初始化动态变量或使用extract
函数。
用于创建动态变量的代码段。
$locations = [ 'name1', 'name2', 'name3', 'name4' ];
foreach ($locations as $key => $val){
${'location'.($key +1)} = $val;
}
echo $location3;
输出:
name3
实时demo
用于提取前缀的代码段
$locations = [ 'name1', 'name2', 'name3', 'name4' ];
extract ($locations, EXTR_PREFIX_ALL, 'location');
echo $location_1;
输出:
name2
实时demo
注意:前缀从零开始,带下划线。 提取Docs
答案 3 :(得分:0)
很抱歉,您在此问题上所花的时间。 我只需要从php到javascript获取一个数组
以下代码完全可以做到
<?php $location = [....some values in this array...]; ?>
<script>var name = <?php echo json_encode( $location ) ?>;</script>
现在,每当更新php脚本中的数组时,javascript中的数组就会自动更新。
这就是我想要的。
也感谢你们一票。
你们真棒(继续努力)
答案 4 :(得分:-1)
我不知道为什么要这样做,但是我认为最好的方法是使用JSON对象,这样就可以非常简单地将数组转换为JSON(json_encode,json_decode),然后可以处理所需的任何方式