多维数组 PHP-JSON
Posted
技术标签:
【中文标题】多维数组 PHP-JSON【英文标题】:Multidimensional array PHP-JSON 【发布时间】:2013-10-27 13:34:29 【问题描述】:如何使用 json_encode() 在 php 中创建一个数组,该数组具有以下结构:
Array(
[1] => Array(
[id] => 1
[data] => 45
)
[2] => Array(
[id] => 3
[data] => 54
)
);
【问题讨论】:
json_encode(what you have above)
? json_encode 只是一个翻译器。您构建一个数组,json_encode 将为您将其转换为文本。它没有什么神奇之处。
我知道,您在 php 中使用 json_encode($your_array_example); 制作了一个数组示例生成类似上面的结果?
【参考方案1】:
试试这样的:
//initialize array
$myArray = array();
//set up the nested associative arrays using literal array notation
$firstArray = array("id" => 1, "data" => 45);
$secondArray = array("id" => 3, "data" => 54);
//push items onto main array with bracket notation (this will result in numbered indexes)
$myArray[] = $firstArray;
$myArray[] = $secondArray;
//convert to json
$json = json_encode($myArray);
【讨论】:
我从数据库中获取了多个数组元素,那么它是如何实现的?表示上面的示例是硬编码的,我需要这一行 $firstArray = array("id" => 1, "data" => 45);更通用【参考方案2】:这里有一个更短的方法:
$myArray = array();
$myArray[] = array("id" => 1, "data" => 45);
$myArray[] = array("id" => 3, "data" => 54);
//convert to json
$json = json_encode($myArray);
【讨论】:
【参考方案3】:这个示例 PHP 数组是混合的,外层是数字索引的,第二层是关联的:
<?php
// PHP array
$books = array(
array(
"title" => "Professional javascript",
"author" => "Nicholas C. Zakas"
),
array(
"title" => "JavaScript: The Definitive Guide",
"author" => "David Flanagan"
),
array(
"title" => "High Performance JavaScript",
"author" => "Nicholas C. Zakas"
)
);
?>
在json_encode 输出中,外层是数组字面量,而第二层是对象字面量。此示例演示了将 JSON_PRETTY_PRINT 选项与 json_encode 一起使用以获得更具可读性的输出,如下面的代码 cmets 所示:
<script type="text/javascript">
// pass PHP array to JavaScript
var books = <?php echo json_encode($books, JSON_PRETTY_PRINT) ?>;
// output using JSON_PRETTY_PRINT
/* var books = [ // outer level array literal
// second level object literals
"title": "Professional JavaScript",
"author": "Nicholas C. Zakas"
,
"title": "JavaScript: The Definitive Guide",
"author": "David Flanagan"
,
"title": "High Performance JavaScript",
"author": "Nicholas C. Zakas"
]; */
// how to access
console.log( books[1].author ); // David Flanagan
</script>
【讨论】:
以上是关于多维数组 PHP-JSON的主要内容,如果未能解决你的问题,请参考以下文章
C 语言数组 ( 多维数组本质 | 步长角度 理解 多维数组本质 )