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

WBOY
풀어 주다: 2016-06-13 12:10:30
원래의
976명이 탐색했습니다.

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

如图:


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

echo json_encode($result);#输出结果
로그인 후 복사

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

完整代码:
$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 /> }
로그인 후 복사

输出结果:
---------- 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
로그인 후 복사


应该有输出类似这种格式才对的:
{"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 />}
로그인 후 복사


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





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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿