Php 如何将数组的单个值分配给javascript中的任何变量 对于(变量i=0;i

Php 如何将数组的单个值分配给javascript中的任何变量 对于(变量i=0;i,php,javascript,Php,Javascript,您不希望分配数组的单个值;你在寻找整个阵列。您的JavaScript循环试图从PHP迭代整个$abc数组 类似这样的方法会奏效: <?php $abc=array(); $abc = (abc, cde,fre); ?> <script language="javascript" type="text/javascript"> for (var i = 0; i < 3; i++) { var gdf = "<?php echo $lat['i'];?>

您不希望分配数组的单个值;你在寻找整个阵列。您的JavaScript循环试图从PHP迭代整个
$abc
数组

类似这样的方法会奏效:

<?php
$abc=array();
$abc = (abc, cde,fre);
?>
<script language="javascript" type="text/javascript">
for (var i = 0; i < 3; i++) {
var gdf = "<?php echo $lat['i'];?>";
alert("value ="+gdf);
}
</script>
var-abc=;
对于(变量i=0;i<3;i++)
var gdf=abc[i];
警报(“值=”+gdf);
}

首先,要构建PHP数组,您应该使用以下符号:

var abc = <?php echo json_encode($abc); ?>;
for(var i = 0; i < 3; i++)
    var gdf = abc[i];
    alert("value = " + gdf);
}

接下来,不可能使用JavaScript直接循环存储在PHP中的变量。您可以这样做,在PHP中执行循环:

<?php

$abc = array('abc', 'cde', 'fre');

?>

警报('值=');
或者,如果您真的希望循环发生在JavaScript而不是PHP中,您可以通过将PHP数组转换为JSON字符串并输出,将其“导出”为JavaScript

<?php
$abc=array('abc', 'cde', 'fre');
?>
<script language="javascript" type="text/javascript">
    <?php foreach ( $abc as $el ): ?>
    alert('value=<?php echo $el ?>');
    <?php endforeach ?>
</script>

var abc=;
对于(变量i=0;i
将输出:


var gdf=‘abc、cde、fre’;
注意

如果希望使用单个变量,也可以很好地使用:


var-gdf='';

如果您接受其他一些答案,我们可能更愿意提供帮助。请编辑您的问题以澄清问题所在。您的代码毫无意义。美元lat从哪里来?第二个$abc行也不是用数组片段初始化数组的正确方法。实际上,我想在javascript中将数组的值赋给信号变量,并将该值显示为警报。
@halfdan-您有官方的PHP声明吗?我最后一次听到,还没有确定6是否会正式反对它们,但那是很久以前的事了。var abc=['我相当肯定他只是有一个警报来测试他的代码。他真正想要的是使用JavaScript中的值。.是的,
alert
只是为了演示这项技术。它可以被他喜欢的任何代码所取代。
json\u encode
比构建数组更好(或多或少)手动。@Felix谢谢,你说得对。我更新了我的帖子,使用了
json\u encode
@HansEngel这种php和js的意大利面组合让我很难过。
<?php

$abc = array('abc', 'cde', 'fre');

?>
<script type="text/javascript">
var gdf = '<?php

for ($i = 0; $i < count($abc); $i++) {
    echo "{$abc[$i]}";
    if ($i != (count($abc)-1)) echo ", ";
}

?>';
</script>
<script type="text/javascript">
var gdf = 'abc, cde, fre';
</script>
<?php

$abc = array('abc', 'cde', 'fre');

?>
<script type="text/javascript">
var gdf = '<?php echo implode(', ',$abc); ?>';
</script>