我正在调用一个 API 并处理一个 JSON 响应,然后将其解码为一个 stdObject。然后我用值或 NULL 将记录插入到数据库中。但是我发现我的请求并不总是返回一个值
例子:
[1] => stdClass Object
(
[created_at] => Wed, 26 Oct 2011 09:58:47 +0000
[entities] => stdClass Object
(
)
[from_user] => powpowpow
[from_user_id] => 12345
[from_user_id_str] => 12345
[geo] =>
[location] => UK
[id] => 1245
[id_str] => 12345
[iso_language_code] => en
[metadata] => stdClass Object
(
[result_type] => recent
)
[profile_image_url] => http://a3.twimg.com/profile_images//.jpg
[source] => <a href="http://twitter.com/">web</a>
[text] => some message!
[to_user_id] =>
[to_user_id_str] =>
)
我发现有些属性并没有在每次调用时返回,location、to_user_id 和 screen_name(在这个调用中甚至没有返回)
我所做的是创建一个方法;
function _nullify($var){
if(isset($var)){
return $var = empty($var) ? NULL : $var;
} else {
return NULL;
}
}
这应该允许我检查该属性是否存在,如果存在则返回它,否则返回 NULL,以便我可以将其输入到数据库中
不过这个方法好像不行。
希望大家帮帮忙
非常感谢,
安迪
最佳答案
如我所见,您正在尝试检查对象中是否存在键, 您可以使用 PHP 的 property_exists的功能。
function _nullify($object, $key){
if(property_exists($object, $key))
return empty($object->$key) ? NULL : $object->$key;
else
return NULL;
}
晒。
关于php - 检查属性是否存在 - 将 json 转换为 stdObject,然后将 value 或 null 插入 db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7901216/