如何将PHP数组转换为如下格式
Array
(
[0] => 001-1234567
[1] => 1234567
[2] => 12345678
[3] => 12345678
[4] => 12345678
[5] => AP1W3242
[6] => AP7X1234
[7] => AS1234
[8] => MH9Z2324
[9] => MX1234
[10] => TN1A3242
[11] => ZZ1234
)
转换为以下格式的Javascript数组?
var cities = [
"Aberdeen",
"Ada",
"Adamsville",
"Addyston",
"Adelphi",
"Adena",
"Adrian",
"Akron",
"Albany"
];
发布于 2011-04-11 17:07:19
我将假设您为PHP和JS提供的两个数组并不相关,它们只是这两种语言中数组外观的示例。显然,您无法将这些字母和数字序列转换为这些城市名称。
PHP提供了一个将PHP数组转换为Javascript代码的函数:json_encode()
。(从技术上讲,它是JSON格式;JSON代表JavaScript对象表示法)
像这样使用它:
<script type='text/javascript'>
<?php
$php_array = array('abc','def','ghi');
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>
有关更多信息,请参阅我上面链接的手册页面。
请注意,json_encode()
仅在PHP5.2和更高版本中可用,因此如果您使用的是旧版本,则需要使用an existing one -- PHP手册页面还包含由需要它的人编写的函数的注释。(但也就是说,如果你使用的是比PHP5.2更早的版本,你应该尽快升级)
发布于 2012-10-13 00:49:49
愚蠢而简单:
var js_array = [<?php echo '"'.implode('","', $php_array).'"' ?>];
发布于 2014-09-08 21:02:17
我发现在Javascript中处理PHP数组的最快最简单的方法是这样做:
PHP:
$php_arr = array('a','b','c','d');
Javascript:
//this gives me a JSON object
js_arr = '<?php echo JSON_encode($php_arr);?>';
//Depending on what I use it for I sometimes parse the json so I can work with a straight forward array:
js_arr = JSON.parse('<?php echo JSON_encode($php_arr);?>');
https://stackoverflow.com/questions/5618925
复制相似问题