据我所知,ActionScript中的是运算符执行以下操作:(纠正我,如果我错了)
测试变量或表达式是否与给定的数据类型兼容。
检查继承层次结构
可用于检查对象是特定类的实例还是特定类的子(或孙子,曾孙,曾孙子等)。
检查对象是否是实现特定接口的类的实例
现在我想知道 PHP 中的什么类似于Actionscript的“是”运算符?
答案 0 :(得分:1)
在PHP中,您有构造instanceof
:
$a instanceof MyClass
答案 1 :(得分:0)
"is" operator用于比较/测试数据类型成员资格(类型检查)。在php中,您可以使用instanceof到check the specific type of the object。
$obj = new A();
if ($obj instanceof A) {
...
}
答案 2 :(得分:0)
ActionScript的是运算符等同于PHP的 instanceof 运算符
<?php
class Person {}
$p1 = new Person();
$p2 = new Person();
echo ($p1 instanceof $p2)?"True":"False"; //o/p: True bcz both $p1 & $p2 are the instances of same class
echo ($p1 instanceof Person)?"True":"False";//True , checking through class name
interface LoyalCustomer{}
class Customer extends Person implements LoyalCustomer {}
$c1 = new Customer();
echo ($c1 instanceof $p1)?"True":"False";//True
class RegularCustomer extends Customer{}
$rc1 = new RegularCustomer();
echo ($rc1 instanceof $p1)?"True":"False";//True
echo ($rc1 instanceof $c1)?"True":"False";//True
echo ($rc1 instanceof RegularCustomer)?"True":"False";//True
echo ($rc1 instanceof Customer)?"True":"False";//True
echo ($rc1 instanceof Person)?"True":"False";//True
echo ($p1 instanceof LoyalCustomer)?"True":"False";//False
echo ($c1 instanceof LoyalCustomer)?"True":"False";//True
echo ($rc1 instanceof LoyalCustomer)?"True":"False";//True
echo ($p1 instanceof $rc1)?"True":"False";//False
?>