首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数字索引的PHP数组传递给javascript

将数字索引的PHP数组传递给javascript
EN

Stack Overflow用户
提问于 2010-08-27 19:51:42
回答 3查看 180关注 0票数 1

我有一个PHP数组,格式如下:

代码语言:javascript
运行
复制
        $js_data_array[] = array('href' =>$matches[1][0], //this is an image url
                                'title' =>'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
                                 );

我需要在javascript中将其转换为以下格式

代码语言:javascript
运行
复制
 [{
'href' : 'http://farm5.static.flickr.com/4005/4213562882_851e92f326.jpg',
'title' : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit'
},{
'href' : 'http://farm5.static.flickr.com/4005/4213562882_851e92f326.jpg',
'title' : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit'
}]

我在wordpress中使用wp_localise_script()来传递数据,它似乎不接受json编码的数组。

如果我按原样传递数组,我会得到一个数值索引的数组,该数组具有重复的' array‘值

因此,问题是,我如何将数据作为数组传递,但没有数字索引?我不能在php数组AFAIK中有重复的键。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-27 23:15:06

似乎wp_localize_script()对引号进行了编码。因此,我将“in the JS:

代码语言:javascript
运行
复制
gallery_data = image.data.replace(/"/g,'"');
票数 0
EN

Stack Overflow用户

发布于 2010-08-27 19:55:44

请参阅json_encode()

例如:

代码语言:javascript
运行
复制
$matches = array(1=>array(0=>'foo'));
$js_data_array = array();

$js_data_array[] = array(
'href' =>$matches[1][0], //this is an image url
  'title' =>'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
);
$js_data_array[] = array(
 'href' =>$matches[1][0], //this is an image url
  'title' =>'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
);

echo $json = json_encode($js_data_array);

打印

代码语言:javascript
运行
复制
[{"href":"foo","title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit"},{"href":"foo","title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit"}]
票数 1
EN

Stack Overflow用户

发布于 2011-02-15 21:37:46

在解码json数据时,应该使用wp函数wp_specialchars_decode()

代码语言:javascript
运行
复制
wp_specialchars_decode($json, ENT_QUOTES)

其中$json是您编码的数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3583820

复制
相关文章

相似问题

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