$select = $this->datas->query("select data01 from ds_meters_320114102 ORDER BY id desc limit 24"); $result = $select->result(); $datas = array(); foreach($result as $row){ $datas[] = $row; } //var_dump($datas); echo json_encode($datas);
以上是我查询数据库得出的json,这个json结果输出后是这样的格式:
[{"data01":"20.90"},{"data01":"20.90"},{"data01":"21.00"},{"data01":"20.90"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"20.90"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"20.90"},{"data01":"20.90"},{"data01":"20.90"},{"data01":"20.90"},{"data01":"20.90"}]
可是这个数据不是我想要的,我要把这个json变成这样的格式:
立即学习“PHP免费学习笔记(深入)”;
[20.90,20.90,21.00,20.90,21.00,21.00....]
请问如何实现呢?谢谢
$select = $this->datas->query("select data01 from ds_meters_320114102 ORDER BY id desc limit 24"); $result = $select->result(); $datas = array(); foreach($result as $row){ $datas[] = $row; } //var_dump($datas); echo json_encode($datas);
以上是我查询数据库得出的json,这个json结果输出后是这样的格式:
[{"data01":"20.90"},{"data01":"20.90"},{"data01":"21.00"},{"data01":"20.90"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"20.90"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"21.00"},{"data01":"20.90"},{"data01":"20.90"},{"data01":"20.90"},{"data01":"20.90"},{"data01":"20.90"}]
可是这个数据不是我想要的,我要把这个json变成这样的格式:
立即学习“PHP免费学习笔记(深入)”;
[20.90,20.90,21.00,20.90,21.00,21.00....]
请问如何实现呢?谢谢
如果是数字索引的数组,那么json_encode()的返回值就是[]括住的字符串;如果是字符串索引的数组,那么json_encode()的返回值就是{}括住的字符串。
所以,解决这个问题,可以尝试:echo json_encode(array_values($datas))
楼上已经可以完美解决楼主的问题了。
解决之余,应该多问问为什么。
如果你是带着这种疑问,百度一下问题就可以解决。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。出处
JSON基于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的编程语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被实现为数组(array),矢量(vector),列表(list),序列(sequence)。出处
它一定是有自己的特点的,会了,那就永远都会了。学习一下吧 JSON 中国 | JSON 中文网
$datas[] = $row[data01];
需要你在上面的datas数组里把键data01去掉。
PHPforeach($result as $row) { $datas[] = $row['data01'] }
这样就行了, 因为之前的数组里有字符串键data01所以只能生成Js对象 {"data01" : "20.90"}才能表示键值关系。 你把$datas换成自然索引的数组就可以了。
json_encode(array_column($datas,'data01'));
tips:php5.5才支持array_column,如果你的php版本低于这个就用上面的foreach循环吧
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号