如果实体是少数类但不是某些类的成员,我想执行一些函数.
有一个叫做的函数instanceof.
但是有类似的东西吗?
if ($entity !instanceof [User,Order,Product])
Run Code Online (Sandbox Code Playgroud)
Kin*_*nch 121
然后给他们一个共同的界面
if (!$entity instanceof ShopEntity)
Run Code Online (Sandbox Code Playgroud)
或者留下来
if (!$entity instanceof User && !$entity instanceof Product && !$entity instanceof Order)
Run Code Online (Sandbox Code Playgroud)
我会避免创建任意函数只是为了在一个地方保存一些字符.另一方面,如果你"经常"需要它,你可能有一个设计缺陷?(在"太多边缘案例"等意义上)
Dra*_*gos 60
PHP手册说:http://php.net/manual/en/language.operators.type.php
!($a instanceof stdClass)
Run Code Online (Sandbox Code Playgroud)
这只是一种逻辑和"语法"正确的书面语法.
!$class instanceof someClass
Run Code Online (Sandbox Code Playgroud)
但是,上面建议的语法很棘手,因为我们没有具体说明否定的范围:变量本身或整个构造$class instanceof someclass.我们只需要依赖运营商的优先权[编辑,感谢@Kolyunya].
小智 12
instanceof 运算符就在否定之前然后这个表达式:
!$class instanceof someClass
Run Code Online (Sandbox Code Playgroud)
在PHP中是正确的,这是你所期望的.