我想用一个foreach
用一个变量循环,但这个变量可以有很多不同的类型,NULL
例如。
所以之前foreach
我测试一下:
if(is_array($var)){
foreach($var as ...
但我意识到它也可以是一个实现的类Iterator
界面。也许我是盲目的,但如何检查类是否实现接口?有没有类似的东西is_a
函数或inherits
操作员?我发现class_implements
,我可以使用它,但也许有更简单的东西?
其次,更重要的是,我认为这个函数存在,足以检查变量是否存在is_array
或“实施Iterator
接口”或者我应该测试更多东西?
如果您正在使用foreach
在函数内部,您需要一个数组或一个可穿越 http://php.net/manual/en/class.traversable.php对象,您可以键入提示该函数:
function myFunction(array $a)
function myFunction(Traversable)
如果您不使用foreach
在函数内部或者您期望两者你可以简单地使用这个结构 http://www.php.net/manual/en/class.traversable.php#99195检查是否可以迭代变量:
if (is_array($a) or ($a instanceof Traversable))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)