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

标签 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',
                                 );

我需要在 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 中有重复的键。

最佳答案

参见 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"}]

关于php - 将数字索引的 PHP 数组传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583820/

相关文章:

arrays - 数组中的十进制显性数

php - mySQL 插入语句不工作?

PHP exec - 检查是否启用或禁用

php - 通过带空格的 URL 从 MySQL 选择条目

php - 如何在 PHP 中设置环境变量?

javascript - 使用 eq() 和 find() 添加类

java - 只打印数组中不重复的元素?

javascript - 如何解析这样的 Json 列表并在 HTML 中显示其元素?

javascript - 使用逗号分隔值巧妙地获取查询字符串

javascript - JS 根据相同的标准组合对象