我有一个这种格式的 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 中有重复的键。
最佳答案
例如
$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"}]
关于php - 将数字索引的 PHP 数组传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583820/