我正在尝试与API集成。假设下面的代码可以工作。
$lists = $ac->api("list/list_", array("ids" => "all"));
echo"<pre>"; print_r( $lists); echo"</pre>";输出以下stdclass对象
stdClass Object
(
[0] => stdClass Object
(
[id] => 1
[name] => List 3
[cdate] => 2018-02-27 08:19:39
[private] => 0
[userid] => 1
[subscriber_count] => 0
)
[result_code] => 1
[result_message] => Success: Something is returned
[result_output] => json
[http_code] => 200
[success] => 1
)以下代码
foreach($lists as $list) {
echo $list->id;
}显示一个错误
Trying to get property of non-object行$list->id是错误的。我怎么才能解决这个问题呢?
发布于 2018-02-28 15:55:03
这是一个奇怪的结构,它在result_code,result_message,result_output,success上循环,值不是对象。
要么修复它,要么在排序的循环中进行检查。
foreach ($lists as $key => $list) {
if (!is_numeric($key) || !is_object($list)) {
continue;
}
echo $list->id;
}发布于 2018-02-28 15:54:40
试试这个
foreach($lists as $list) {
$list = (array)$list;
if(isset($list['id'])){
echo $list['id'];
}
}发布于 2018-05-19 14:07:04
PHP对象干净且易于编写。
//回显PHP数组值
echo $array['value'];//回显PHP对象值
echo $object->value;现在来看PHP数组到PHP对象的转换(强制转换)。这非常简单。我只是在返回数组时将其类型转换为对象。
function array_to_object($array) {
return (object) $array;
}以上只是一个例子。不需要PHP函数就可以将Array转换为Object。(object)函数将对任何PHP数组执行此操作。如果您需要将对象更改为Array,则使用(array)类型转换函数。
function object_to_array($object) {
return (array) $object;
}https://stackoverflow.com/questions/49024334
复制相似问题