gpt4 book ai didi

php - 将 PHP 数组传递给 Javascript

转载 作者:行者123 更新时间:2023-11-28 11:04:34 27 4
gpt4 key购买 nike

我正在尝试将一组值从 PHP 函数传递到 Javascript。不确定我是否做得正确。

PHP:

function toggleLayers(){
for($i=0;$i<$group_layer_row;$i++){
$toggleArray=mb_convert_encoding(mssql_result ($rs_group_layer, $i, 0),"UTF-8","SJIS")."_".mb_convert_encoding(mssql_result ($rs_group_layer, $i, 1),"UTF-8","SJIS");
return $toggleArray;
}
}

JS:

var myArray = [JSON.parse("<?php echo json_encode($toggleArray); ?>")];
for(var i=0;i < myArray.length; i++){
if($myArray.getVisibility()==true){
$myArray.getVisibility(false);
}
else{
$myArray.getVisibility(true);
}
}

SQL(供引用):

$con = mssql_connect("myServer", "myUsername", myPassword");
$sql = "SELECT * FROM m_group_layer WHERE group_id=\"".$_SESSION["group_id"]."\" ORDER BY display_order";
$rs_group_layer = mssql_query ($sql, $con);
$group_layer_row = mssql_num_rows($rs_group_layer);

我一直在研究其他一些类似的问题,答案要么含糊不清,要么有几千个。

非常感谢任何帮助,也请尝试解释一下,就像您正在写一本名为“Idiot's Guide to Passing PHP Arrays to JS”的书一样

感谢您的帮助。

编辑:

抱歉,我的问题很模糊。这就是我正在尝试做的事情:

1.PHP函数将表中的所有记录获取到数组中(在本例中它们是 map 图层)

2.Javascript接收PHP数组并通过添加if子句循环切换图层。

希望这能让事情变得更清楚。

最佳答案

比你想象的要简单。

更改此行:

var myArray = [JSON.parse("<?php echo json_encode($toggleArray); ?>")];

致:

var myArray = <?php echo htmlspecialchars(json_encode($toggleArray), ENT_NOQUOTES); ?>;

json_encode 生成一个 json 字符串。将字符串回显到 JavaScript 上下文中相当于 JavaScript 文字。 htmlspecialchars 仅用于必要的 html 转义,并不是回显 json 所独有的。

注意但是,您只能对 php 对象或数组进行 json_encode,而不能对任何标量类型(如整数或字符串)进行 json_encode。这是 JSON 本身的限制。在您的 toggleLayers() 函数中,您返回的是一个字符串,而不是一个数组。

关于php - 将 PHP 数组传递给 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com