php:如果属性不存在

时间:2015-12-07 09:28:02

标签: php sql

我刚刚遇到一个对我来说很新的问题,我找到了2个解决方案......这个问题基本上就是找到一个更好或更清洁的问题,如果有的话!

在我的数据库中,我为每个用户存储了一些关于他每日日程安排的偏好。用户第一次连接时,DB没有任何信息,因此我正在运行此代码:

if(!empty($opening_h->{'lunch'}) == true) 
{ 
    if($opening_h->{'lunch'} == 1) 
    {
        echo 'checked';
    };
};

PS:那里有多个值,以json格式编码。

有更好的方法吗?我能想到的另一个就是写

lunch => 0, dinner => 0

当用户注册到平台时...但这看起来很傻。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我建议您在班级中使用 __ isset 魔术方法来检查 $ opening_h 是否存在该属性,如果不存在则执行某些操作。然后,当您确定您的财产存在时,您可以轻松地编写类似的内容:

if($opening_h->{'lunch'} == 1) {
    echo 'checked';
};

现在使用 __ isset 看起来更简单。