首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将php数组转换为Javascript

将php数组转换为Javascript
EN

Stack Overflow用户
提问于 2011-04-11 16:54:21
回答 12查看 445.8K关注 0票数 206

如何将PHP数组转换为如下格式

代码语言:javascript
复制
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数组?

代码语言:javascript
复制
var cities = [
    "Aberdeen",
    "Ada",
    "Adamsville",
    "Addyston",
    "Adelphi",
    "Adena",
    "Adrian",
    "Akron",
    "Albany"
];
EN

回答 12

Stack Overflow用户

发布于 2011-04-11 17:07:19

我将假设您为PHP和JS提供的两个数组并不相关,它们只是这两种语言中数组外观的示例。显然,您无法将这些字母和数字序列转换为这些城市名称。

PHP提供了一个将PHP数组转换为Javascript代码的函数:json_encode()。(从技术上讲,它是JSON格式;JSON代表JavaScript对象表示法)

像这样使用它:

代码语言: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更早的版本,你应该尽快升级)

票数 470
EN

Stack Overflow用户

发布于 2012-10-13 00:49:49

愚蠢而简单:

代码语言:javascript
复制
var js_array = [<?php echo '"'.implode('","', $php_array).'"' ?>];
票数 43
EN

Stack Overflow用户

发布于 2014-09-08 21:02:17

我发现在Javascript中处理PHP数组的最快最简单的方法是这样做:

PHP:

代码语言:javascript
复制
$php_arr = array('a','b','c','d');

Javascript:

代码语言: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);?>');
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5618925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档