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 会话(session 时间设定)使用入门代码
Jun 05 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
php实现RSA加密类实例
Mar 26 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
apache配置虚拟主机的方法详解
2013/06/17 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
script标签属性用type还是language
2015/01/21 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python制作词云的方法
2018/01/03 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
韩国现代百货官网:Hmall
2018/03/21 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
成品库仓管员岗位职责
2014/04/06 职场文书
爱情寄语大全
2014/04/09 职场文书
平安校园建设方案
2014/05/02 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
工作收入证明模板
2014/10/10 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫