php 数组转换json有有关问题 大家过来看看

WBOY
Release: 2016-06-13 12:10:30
Original
975 people have browsed it

php 数组转换json有问题 大家过来看看

如图:


为什么下面这句话没有输出任何东西?

echo json_encode($result);#输出结果
Copy after login

个人觉得可能是因为$data里面的数组元素为Client对象,在转为json的时候出问题了。但是我不知道是什么问题,怎么转换?或者有没有其他的转换方法?
class Result {<br />		var $state;<br />		var $data = array();<br />	}
Copy after login

完整代码:
$start = 0;
$end = 2;
$uid = 1;
$result = new Result();
$result_set = getClients($start, $end, $uid);
$data = array();
$count = 0;

while($row = mysql_fetch_array($result_set)) {
$client = new Client();
$client->cid = $row['id'];
$client->gender = $row['gender'];
$client->rank = $row['rank'];
$client->name = $row['name'];
$client->phoneNum = $row['phoneNum'];
$client->email = $row['email'];
$client->address = $row['address'];
$result->data[$count] = $client;

echo $result->data[$count]->cid." ";
echo $result->data[$count]->gender." ";
echo $result->data[$count]->rank." ";
echo $result->data[$count]->name." ";
echo $result->data[$count]->phoneNum." ";
echo $result->data[$count]->address."\n";

$count++;
}

if(count($data) > 0) {
$result->state = 0;
} else {
$result->state = 1;
}

echo json_encode($result);#输出结果

class Result {<br /> var $state;<br /> var $data = array();<br /> }
Copy after login

输出结果:
---------- debug php ----------<br /><br />Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\WWW\wsd\trunk\src\server\api\db\init_db.php on line 10<br /><br />Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\WWW\wsd\trunk\src\server\api\db\init_db.php on line 10<br />3  0  经理  张小莉  18825044888  广东省广州市天河区<br />4  0  主管  吴美凤  18576430777  广东省深圳市南山区蛇口南海大道1079号<br />PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\WWW\wsd\trunk\src\server\api\db\init_db.php on line 10<br />PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\WWW\wsd\trunk\src\server\api\db\init_db.php on line 10<br /><br />Output completed (0 sec consumed) - Normal Termination
Copy after login


应该有输出类似这种格式才对的:
{"state":1,<br />"data":[<br />           {"cid":3,<br />          "gender":0,<br />          "rank":"经理"<br />          "name":" 张小莉"<br />          "phoneNum":"18825044888  "<br />          "address":"广东省广州市天河区"},<br />          {"cid":4,<br />          "gender":0,<br />          "rank":"主管"<br />          "name":" 吴美凤"<br />          "phoneNum":"18576430777  "<br />          "address":" 广东省深圳市南山区蛇口南海大道1079号"}<br />          ]<br />}
Copy after login


请问这是什么问题呢?怎么解决?谢谢!





------解决思路----------------------
print_r($result);
能看到什么?
------解决思路----------------------
Object of class Result could not be converted to string 对象不能被转换为字符串
既如此,当然也不能 json 了
看看你的 Client 类定义
------解决思路----------------------
可能没有值吧

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template