Javascript js获取具有动态名称的php变量
我有一个调用js函数的简单按钮。在这里,我想使用带有动态名称的php变量。你知道吗Javascript js获取具有动态名称的php变量,javascript,php,html,Javascript,Php,Html,我有一个调用js函数的简单按钮。在这里,我想使用带有动态名称的php变量。你知道吗 <?php $counter = 1; ${"fotos" . $counter++} = array(); foreach ($row as $item) { ${"fotos" . $counter}[] = $item->img; } ?>; //will generate two vars: $fotos = [img1
<?php
$counter = 1;
${"fotos" . $counter++} = array();
foreach ($row as $item) {
${"fotos" . $counter}[] = $item->img;
}
?>;
//will generate two vars:
$fotos = [img1];
$fotos1 = [img1,img2];
<button type="button" onClick="verAdjuntos(<?php echo $counter; ?>)" class="btn btn-xs btn-default"> View</button>
//parameter passed verAdjuntos(1) forxample
解决了如何从php变量中使用数组数组的问题
<?php
$counter = 1;
$fotos = array();
foreach ($row as $item) {
$allfotos[$counter] = array($item->img);
$counter++;
}
?>;
//will generate two vars:
$fotos[1] = [img1];
$fotos[2] = [img1,img2];
<button type="button" onClick="verAdjuntos(<?php echo $counter; ?>)" class="btn btn-xs btn-default"> View</button>
<script type="text/javascript">
function verAdjuntos(id){
if (id == null){
var fotos = <?php echo $allfotos ?>;
alert(JSON.stringify(fotos));
}else{
<?php
$js_array = json_encode($allfotos);
echo "var javascript_array = ". $js_array . ";\n";
?>
var fotos = JSON.parse(javascript_array[id]);
alert(JSON.stringify(fotos));
};
}
</script>
;
//将生成两个变量:
$fotos[1]=[img1];
$fotos[2]=[img1,img2];
有问题吗?有什么问题吗?我想你有点糊涂了。PHP在服务器上运行,JS在客户端上运行。他们不能直接互动。但从这个问题上,我无法判断问题是否出在这里……不,从服务器上我生成了多个php变量,从客户端y只获取这些变量的名称,这是不可信的。例如var fotos=''
请提供更多代码,以显示有关$counter
的更多信息,以及为什么必须使用动态变量而不是数组!如果您创建多个按钮,或者只创建一个按钮,这也会很有趣!
alert(JSON.stringify(fotos1));
<?php
$counter = 1;
$fotos = array();
foreach ($row as $item) {
$allfotos[$counter] = array($item->img);
$counter++;
}
?>;
//will generate two vars:
$fotos[1] = [img1];
$fotos[2] = [img1,img2];
<button type="button" onClick="verAdjuntos(<?php echo $counter; ?>)" class="btn btn-xs btn-default"> View</button>
<script type="text/javascript">
function verAdjuntos(id){
if (id == null){
var fotos = <?php echo $allfotos ?>;
alert(JSON.stringify(fotos));
}else{
<?php
$js_array = json_encode($allfotos);
echo "var javascript_array = ". $js_array . ";\n";
?>
var fotos = JSON.parse(javascript_array[id]);
alert(JSON.stringify(fotos));
};
}
</script>