php – 如何获取数组中对象元素的值?

我给你介绍个对象吧! 2020-10-03 09:10:32
如下所示,var_dump出来的结果,我想取出error的内容
array(2) {
[0] => NULL
[1] => object(Qiniu\Http\Error)#37 (2) {
["url":"Qiniu\Http\Error":private] => string(71) "http://rs.qiniu.com/delete/dGVzdHlqczphcmNoaXRlY3R1cmUtMTQ3NzA5OC5qcGc="
["response":"Qiniu\Http\Error":private] => object(Qiniu\Http\Response)#38 (6) {
["statusCode"] => int(612)
["headers"] => array(8) {
["Server"] => string(9) "openresty"
["Date"] => string(19) "Sat, 03 Oct 2020 01"
["Content-Type"] => string(16) "application/json"
["Content-Length"] => string(2) "37"
["Connection"] => string(10) "keep-alive"
["Cache-Control"] => string(8) "no-store"
["X-Reqid"] => string(16) "0cQAAABpWCooVjoW"
["X-Log"] => string(1) "-"
}
["body"] => string(37) "{"error":"no such file or directory"}"
["error"] => string(25) "no such file or directory"
["jsonData":"Qiniu\Http\Response":private] => array(1) {
["error"] => string(25) "no such file or directory"
}
["duration"] => float(0.074)
}
}
}
...全文
272 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
祝君圆梦 2020-10-15
//使用json_decode()函数
$json = json_decode( $str, 1 );//$str代表你上面那段的字符串内容
$data=$json['1']['response'];
$error=$data['error'];
echo $error;
回复
廖展程 2020-10-13
对象也可以循环取出
回复
因为 error 在 Qiniu\Http\Error 类的私有属性response 上,你的看该类是否有 __get()这样的方法 是否能获取到 response 这个属性,然后你就可以 $arr[1]->response ->error; 如果是有类似 getResponse 的方法来获取response 属性就 $arr[1]->getResponse ()->error;
回复
object转array函数
回复
引用 1 楼 夜晚De冷风 的回复:
判断[1]是否存在 然后 [1]->error;
取不出来
回复
hk_1312167352 2020-10-06
用print_r()打印出数组来再看看
回复
夜晚De冷风 2020-10-05
判断[1]是否存在 然后 [1]->error;
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告