在前端开发中,常常会出现需要将 php 中的数组转成 javascript 对象数组的情况。当然,这并不是什么难事,只需要进行简单的操作即可实现。本文将介绍一种使用 json_encode() 函数直接将 php 数组转换成 javascript 对象数组的方法。
PHP 数组转换成 JSON 字符串
在将 PHP 数组转换成 JavaScript 对象数组之前,需要先将 PHP 数组转换成 JSON 字符串。使用 PHP 内置函数 json_encode() 即可将 PHP 数组转换成 JSON 字符串。以下是一个示例:
$data = array(
array('name' => 'Amy', 'age' => 22),
array('name' => 'Bob', 'age' => 25),
array('name' => 'Cathy', 'age' => 28)
);
$json_string = json_encode($data);
echo $json_string;以上代码将 $data 数组转换成一个 JSON 字符串,并使用 echo 输出。输出结果为:
[{"name":"Amy","age":22},{"name":"Bob","age":25},{"name":"Cathy","age":28}]将 JSON 字符串转换成 JavaScript 对象数组
在得到 JSON 字符串后,只需要使用 JSON.parse() 函数将其转换成 JavaScript 对象即可。以下是一个示例:
var data = JSON.parse('');
console.log(data);以上代码将 $json_string 的值输出到 JSON.parse() 函数中,将其转换成 JavaScript 对象,并使用 console.log() 输出。输出结果为:
立即学习“PHP免费学习笔记(深入)”;
10分钟内自己学会PHP其中,第1篇为入门篇,主要包括了解PHP、PHP开发环境搭建、PHP开发基础、PHP流程控制语句、函数、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、日期和时间等内容;第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、A
[
{ name: "Amy", age: 22 },
{ name: "Bob", age: 25 },
{ name: "Cathy", age: 28 }
]以上方法可以简单地将 PHP 数组转换成 JavaScript 对象数组。如果你需要将其作为函数或变量在 JavaScript 中使用,可以直接将以上代码拼接成字符串。例如:
var data = JSON.parse('');使用 PHP 的 array_map() 函数
除了上面介绍的方法外,还可以使用 PHP 内置函数 array_map() 函数将数组中的每个元素转换成 JavaScript 对象。以下是一个使用 array_map() 函数的示例:
$data = array(
array('name' => 'Amy', 'age' => 22),
array('name' => 'Bob', 'age' => 25),
array('name' => 'Cathy', 'age' => 28)
);
$js_array = array_map(function($item) {
return "{'name': '{$item['name']}', 'age': {$item['age']}}";
}, $data);
echo "[" . implode(",", $js_array) . "]";以上代码使用 array_map() 函数将 $data 数组中的每个元素转换成 JavaScript 对象,并将其存放在 $js_array 数组中。最终将 $js_array 数组转换成 JSON 数组输出。输出结果为:
[{'name': 'Amy', 'age': 22},{'name': 'Bob', 'age': 25},{'name': 'Cathy', 'age': 28}]总结
本文介绍了两种将 PHP 数组转换成 JavaScript 对象数组的方法,其中一种是使用 json_encode() 函数直接将 PHP 数组转换成 JSON 字符串,然后使用 JSON.parse() 函数将其转换成 JavaScript 对象数组。另外一种则是使用 array_map() 函数将 PHP 数组的每个元素转换成 JavaScript 对象。这两种方法都可以实现将 PHP 数组转换成 JavaScript 对象数组的功能,读者可以根据自己的需求来选择哪种方法。










