【发布时间】:2014-03-29 04:46:27
【问题描述】:
我收到错误:通知 (8): unserialize() [function.unserialize]: 当我尝试在页面中显示 JSON 编码的数组时,偏移量 0 的 743 字节处出错。
我在 foreach 循环中迭代所有用户,以获取数组格式的用户详细信息。数组格式如下:
$userDetails =
Array
(
[id] => 12121212
[enc_userid] => QWQWQWQWdssd
[img_path] => http://192.168.1.XX/pjt/images/getuserphoto/SDSDSDSDSD/1/big/
[msg_icon] => http://192.168.1.XX/pjt/img/sd/4a-icons/msg.png
[rdd_icon] => http://192.168.1.XX/pjt/img/sd/4a-icons/invite.png
[profile_path] => http://192.168.1.XX/pjt/user/sd/HJHJHJH
[name] => XXX XXXXXXXXX
[type] => IND
[photo] => XXXXX.jpg
[designation] => XXXX XXXXXXXXXXXXXXXXX
[company] => XXXXXXXXXXXXXX Pvt Ltd
[insid] =>
[status] => 1
[city] => XDXX, XXX,XXX
[xxxx_id] => XXXX
)
然后这个数组被序列化并显示如下:
echo serialize($userDetails);
foreach 循环如下所示:
$ui_array = array();
foreach ($search_data as $key => $val) {
$ui_array[] = unserialize($this->function_to_fetch_user_details($user_id));
}
echo json_encode($ui_array);exit;
但是对于 JSON 数组,我在开始时得到一个错误,例如:
[false,{"id":"11168","enc_userid":"dsdsdsd","img_path":"http:\/\/192.168.1.dd\/sdsdsd\/images\/getuserphoto\/sdsdsd\/1\/big\/","msg_icon":"http:\/\/192.168.1.sd\/sdsd\/img\/sdheme\/icons\/msg.png" ...................
有错误通知 (8): unserialize() [function.unserialize]: Error at offset 0 of 743 bytes.
我不明白为什么现在会发生此错误,因为它以前运行良好。 任何帮助都会非常有帮助,谢谢!
【问题讨论】:
-
问题是序列化和反序列化之间发生了什么。
-
问题很清楚,我已经给出了序列化前的确切数组格式和反序列化后的 json 响应:):):)
-
@GeorgeJoffinJoy:你得到 false 因为你第一次调用
unserialize($this->function_to_fetch_user_details($user_id))返回 false。我想知道,您是否使用相同的$user_id调用该函数? -
@xiidea 不是所有的用户 id 都是唯一的 id....想知道缺少什么???
-
@GeorgeJoffinJoy:在整个循环中没有任何改变的迹象!