多维数组 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++ 中的多维数组

多维数组指向多维数组

C 语言数组 ( 多维数组本质 | 步长角度 理解 多维数组本质 )

如果数组存在于另一个多维数组中,如何从多维数组中删除该数组? [复制]

php 多个多维数组求交集

php中多维数组的问题