将数字索引的PHP数组传递给javascript
我有一个PHP数组,格式如下:将数字索引的PHP数组传递给javascript,php,javascript,arrays,Php,Javascript,Arrays,我有一个PHP数组,格式如下: $js_data_array[] = array('href' =>$matches[1][0], //this is an image url 'title' =>'Lorem ipsum dolor sit amet, consectetur adipiscing elit', ); 我需要用javas
$js_data_array[] = array('href' =>$matches[1][0], //this is an image url
'title' =>'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
);
我需要用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数组中使用重复的键。请参见
e、 g
印刷品
[{"href":"foo","title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit"},{"href":"foo","title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit"}]
wp_localize_script()似乎对引号进行编码。因此,我将JS中的“替换为:
gallery_data = image.data.replace(/"/g,'"');
解码json数据时,应使用wp函数
wp\u specialchars\u decode()
:
wp_specialchars_decode($json, ENT_QUOTES)
其中,
$json
是您的编码数组。是的,谢谢,但我已经尝试过了,不能将它与wp_localise_script()一起使用。当我将json输出记录到firebug控制台时,我得到的是一个字符串而不是一个对象,例如:“[{”href:“/files/2010/06/Bioreactor-4.jpg”,“title:“Lorem ipsum dolor sit amet,Concertetur adipsisting elit”},…这是因为“?从我在这里读到的:无论如何,这不是使用wp_localise_script()的方式。
wp_specialchars_decode($json, ENT_QUOTES)