如何传递php数组变量到JavaScript

wyzdytc 2003-12-04 02:16:55
$phpshow 和 $phpvalue 是两个php二维数组,赋值到 JavaScript中,如何写?
我试了好几次格式都不对

<SCRIPT>
var show = new Array();
var value = new Array();
show='<?=$phpshow ?>'
value='<?=$phpvalue ?>'
</SCRIPT>

这样似乎不行。
...全文
549 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
salaryww 2003-12-09
  • 打赏
  • 举报
回复
还有就是,我没明白是数据库里取出的为什么就不一样了,
我的习惯是数据库取出的书籍先处理玩了再做进一步处理,两个步骤尽量的分离,这样虽然会曾加运行的开销,但是程序清楚,方便修改。
salaryww 2003-12-09
  • 打赏
  • 举报
回复
你看了生成的html源文件了么?
我遇到过从数据库里取出来的字段莫名其妙多了回车的情况,这个在网页上看不出,但是在js里会出错。后来我加上trim()就好了
wyzdytc 2003-12-09
  • 打赏
  • 举报
回复
???
如果不是要从数据库调数据赋值到数组,我也不用这么多废话了,上面的意思不太明白
salaryww 2003-12-09
  • 打赏
  • 举报
回复
最简单的思路,如果让你直接在静态页面写js的数组定义你会么?
我对服务器短脚本语言的理解就是输出文本给浏览器,仅此而已。
所以你要js里面怎么实现,你就要让浏览器接收到的php输出内容符合你想要的效果的规范。
wyzdytc 2003-12-09
  • 打赏
  • 举报
回复
这样也不行:


$i=0;
while($game_name = mysql_fetch_array($game_tmp)){
$server_name=explode(",",$game_name[game_server_name]);
$num=count($server_name);
for($ii=0;$ii<$num;$ii++){
$ass=$server_name[$ii];
$ar[$i][$ii]="$ass";
}
$i++;
}
$s = "";
foreach($ar as $value){
if(is_array($value))
$s .= (!empty($s)?",":"").'new Array("'.join('","',$value).'")';
else
$s .= '"'.$value."'";
}
?>
<SCRIPT>

var po_detail_show= new Array((<?php echo $s;?>);

var po_detail_value= new Array(<?php echo $s;?>);

</SCRIPT>
wyzdytc 2003-12-09
  • 打赏
  • 举报
回复
太郁闷了,例子正确,我从数据库调用就是不行

$game_tmp = mysql_query("SELECT * FROM game_list");
$i=0;
while($game_name = mysql_fetch_array($game_tmp)){
$server_name=explode(",",$game_name[game_server_name]);
$num=count($server_name);
for($ii=0;$ii<$num;$ii++){
if($ii!=0){
$ass[$i]=$ass[$i].',"'.$server_name[$ii].'"';
}else{
$ass[$i]='"'.$server_name[$ii].'"';
}
}

if($i!=0){
$array=$array.',new Array('.$ass[$i].')';
}else{
$array='new Array('.$ass[$i].')';}

$i++;
}
echo $array;
?>
<SCRIPT>

var po_detail_show= new Array(<?php echo $array?>);

</SCRIPT>

echo $array 看到的结果和echo $s 的结果完全一样,为什么就是不行,我把echo的结果替换js里面的<?php echo $array?>就没问题,为什么????
xiangyanpijiu 2003-12-08
  • 打赏
  • 举报
回复
同意唠叨的:
<?php
$ar = array(
array(1,2,3,4),
array("a","b","c","d")
);

$s = "";
foreach($ar as $value) {
if(is_array($value))
$s .= (!empty($s)?",":"").'new Array("'.join('","',$value).'")';
else
$s .= '"'.$value."'";
}
?>
<script>
var ar = new Array(<?php echo $s; ?>);
alert(ar);
</script>
xhaolifu 2003-12-08
  • 打赏
  • 举报
回复
xuzuning(唠叨) 的方法是正确的,但是有点复杂:
while(db_fetch_row($result))
{
$a [$i]=db_result($result,id);
$b [$i]=db_result($result,descript);
$i++;
}
$ar=join(",",$a);
$br=join(",",$b);
<script>
function arrayab(ar,br)
var a=ar.split(",");
var b=ar.split(",");
</script>
其实就是将数组用字符的方式传到脚本,我也想不通过这种方式,没找到.
</script>
wyzdytc 2003-12-05
  • 打赏
  • 举报
回复
?
wyzdytc 2003-12-04
  • 打赏
  • 举报
回复
xuzuning(唠叨) 你的方法是正确的,但有一个问题

如何能够写成:
$a=array(aa,bb,cc);
$b=array(dd,ee,ff,gg);
$ar = array(
array($a),
array($b)
);

或者
$a="aa,bb,cc";
$b="dd,ee,ff,gg";
$ar = array(
array($a),
array($b),
...
...
);
因为是从数据库获得a,b的值,如下:
<?
$name = "select * from game";
$name= mysql_query($name);
for($i=1;$tmp_search = mysql_fetch_array($game);$i++){
$i2=i-1;
$server_name[$i2]=array($tmp_search[server_name]);
}?>

$tmp_search[server_name]是一个字符串"aa,bb,cc,dd"

我的写法不对,怎样才能得到二维数组$server_name?
抱歉问题很罗嗦,又没分了
多菜鸟 2003-12-04
  • 打赏
  • 举报
回复
<SCRIPT>
var show = new Array();
var value = new Array();
show='<? echo $phpshow ?>'
value='<? echo $phpvalue ?>'
</SCRIPT>
xuzuning 2003-12-04
  • 打赏
  • 举报
回复
这样写
<?php
$ar = array(
array(1,2,3,4),
array("a","b","c","d")
);

$s = "";
foreach($ar as $value) {
if(is_array($value))
$s .= (!empty($s)?",":"").'new Array("'.join('","',$value).'")';
else
$s .= '"'.$value."'";
}
?>
<script>
var ar = new Array(<?php echo $s; ?>);
alert(ar);
</script>
zalvsa 2003-12-04
  • 打赏
  • 举报
回复
a="<?php echo "aaa";?>";
wyzdytc 2003-12-04
  • 打赏
  • 举报
回复
你的意思是不是把数组拆开一项一项赋值?
php数组的值是从数据库得到的,所以这种方法不行
wyzdytc 2003-12-04
  • 打赏
  • 举报
回复
?不太明白 能把前后都写上吗?aaa是php还是js变量?

是二维数组,如果是普通变量我也会传递
ckppl 2003-12-04
  • 打赏
  • 举报
回复
简单的方法:
window.location='ddd.php?aaa='+aaa.value+'&bbb='+bbb.value;

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧