PHP检测接口Traversable用法详解

转载  2017-12-29   作者:奔跑的码农   我要评论

这篇文章主要介绍了PHP检测接口Traversable用法,结合实例形式分析了Traversable接口检测遍历功能的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

  • 非常有用的9个PHP代码片段

    非常有用的9个PHP代码片段

    这篇文章主要为大家介绍了非常有用的9个PHP代码片段,在开发网站、app或博客时,代码片段可以真正地为你节省时间,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 使用Zttp简化Guzzle 调用

    使用Zttp简化Guzzle 调用

    在 PHP 的项目中,如果你需要通过代码来发起 HTTP 请求,相信很多人对 GuzzleHttp 这个 Package 很熟悉,然而其实在使用 Guzzle 的时候,我们依然可以做得更简便一点的,下面我们就来看下今天的主角--Zhttp
    2017-07-07
  • ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法

    ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法

    这篇文章主要介绍了ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法,需要的朋友可以参考下
    2014-08-08
  • php命令行(cli)模式下报require 加载路径错误的解决方法

    php命令行(cli)模式下报require 加载路径错误的解决方法

    本文给大家解决的是在php的cli模式下做任务计划的php脚本总是执行不成功,报“require 加载路径错误”,后来经过一番研究,才找到问题所在,这里分享给大家。
    2015-11-11
  • php中filter_input函数用法分析

    php中filter_input函数用法分析

    这篇文章主要介绍了php中filter_input函数用法,实例分析了采用filter_input函数过滤各种外部输入的方法,对于PHP程序设计来说具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\

    PHP Warning: PHP Startup: Unable to load dynamic library \ D

    今天在家启动PHP环境的时候,突然发现不能加载php_mysqli.dll了,网上找了一圈,没有解决方案!在群里面受一哥们儿的启发,竟然解决了,如果你的问题还没有解决,请按下面的方法试试
    2012-06-06
  • PHP中的cookie

    PHP中的cookie

    PHP中的cookie...
    2006-11-11
  • php Rename 更改文件、文件夹名称

    php Rename 更改文件、文件夹名称

    rename()命令可以实现文件文件夹的更名操作,而且还可以实现文件、文件夹的移动操作
    2011-05-05
  • php魔术变量用法实例详解

    php魔术变量用法实例详解

    这篇文章主要介绍了php魔术变量用法,以实例形式详细分析了php中常见的各种魔术变量的具体用法,并补充说明了php中的魔术方法,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • php判断邮箱地址是否存在的方法

    php判断邮箱地址是否存在的方法

    这篇文章主要介绍了php判断邮箱地址是否存在的方法,php判断邮箱地址是否存在的方法有两种,感兴趣的朋友可以参考一下
    2016-02-02

最新评论