【发布时间】:2013-03-14 07:02:43
【问题描述】:
我想使用带有变量的foreach 循环,但是这个变量可以是多种不同的类型,例如NULL。
所以在foreach之前我测试了一下:
if(is_array($var)){
foreach($var as ...
但我意识到它也可以是一个实现Iterator接口的类。也许我是盲人但是如何检查该类是否实现了接口?有类似is_a 函数或inherits 运算符的东西吗?我找到了class_implements,我可以用,但也许有更简单的东西?
其次,更重要的是,我认为这个函数存在,足以检查变量is_array 或“实现Iterator 接口”还是我应该测试更多?
【问题讨论】:
-
if($var instanceof ArrayIterator)
-
是的,我很确定这是行不通的,甚至没有看过手册......