我有一个PHP数组,格式如下:
$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数组AFAIK中有重复的键。
发布于 2010-08-27 23:15:06
似乎wp_localize_script()对引号进行了编码。因此,我将“in the JS:
gallery_data = image.data.replace(/"/g,'"');发布于 2010-08-27 19:55:44
请参阅json_encode()
例如:
$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);打印
[{"href":"foo","title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit"},{"href":"foo","title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit"}]发布于 2011-02-15 21:37:46
在解码json数据时,应该使用wp函数wp_specialchars_decode():
wp_specialchars_decode($json, ENT_QUOTES)其中$json是您编码的数组。
https://stackoverflow.com/questions/3583820
复制相似问题