PHP检测接口Traversable用法详解


Posted in PHP onDecember 29, 2017

本文实例讲述了PHP检测接口Traversable用法。分享给大家供大家参考,具体如下:

Traversable用于检测一个类是否可以使用 foreach 进行遍历,这是一个无法在 PHP 脚本中实现的内部引擎接口,实际编程中我们使用Iterator接口或者IteratorAggregate接口来实现遍历。

接口摘要:

Traversable {
}

Traversable 重要的一个用处就是判断一个类是否可以遍历,下面是官方例子:

<?php
  if( !is_array( $items ) && !$items instanceof Traversable )
    //Throw exception here
?>

需要注意的是,数组和对象可以通过foreach遍历,但它们没有实现Traversable接口,所以不是Traversable的示例:

<?php
$array=[1,2,3];
$obj = (object) $array;
var_dump($array instanceof \Traversable);
var_dump($obj instanceof \Traversable);
?>

以上代码输出:

boolean false
boolean false

补充说明:

类未实现Iterator接口或者IteratorAggregate接口时,执行foreach遍历将输出所有其能够访问的可见属性

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中通过smtp发邮件的类,测试通过
Jan 22 PHP
PHP5+UTF8多文件上传类
Oct 17 PHP
php中定义网站根目录的常用方法
Aug 08 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
PHP+JS实现大规模数据提交的方法
Jul 02 PHP
Symfony2 session用法实例分析
Feb 04 PHP
微信支付开发发货通知实例
Jul 12 PHP
php注册和登录界面的实现案例(推荐)
Oct 24 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 #PHP
PHP迭代器接口Iterator用法分析
Dec 28 #PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 #PHP
PHP获取数组中指定的一列实例
Dec 27 #PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 #PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 #PHP
Laravel中使用Queue的最基本操作教程
Dec 27 #PHP
You might like
PHP个人网站架设连环讲(二)
2006/10/09 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
动态刷新 dorado树的js代码
2009/06/12 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
python缩进区别分析
2014/02/15 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
pytorch permute维度转换方法
2018/12/14 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python scipy卷积运算的实现方法
2019/09/16 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
大学应届生求职简历的自我评价
2013/10/08 职场文书
员工工作自我评价
2014/09/26 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
党员反邪教心得体会
2016/01/15 职场文书
初二物理教学反思
2016/02/19 职场文书
初中物理教学反思
2016/02/19 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
React四级菜单的实现
2022/04/08 Javascript