PHP檢測(cè)接口Traversable用法詳解
本文實(shí)例講述了PHP檢測(cè)接口Traversable用法。分享給大家供大家參考,具體如下:
Traversable用于檢測(cè)一個(gè)類是否可以使用 foreach 進(jìn)行遍歷,這是一個(gè)無(wú)法在 PHP 腳本中實(shí)現(xiàn)的內(nèi)部引擎接口,實(shí)際編程中我們使用Iterator接口或者IteratorAggregate接口來(lái)實(shí)現(xiàn)遍歷。
接口摘要:
Traversable {
}
Traversable 重要的一個(gè)用處就是判斷一個(gè)類是否可以遍歷,下面是官方例子:
<?php
if( !is_array( $items ) && !$items instanceof Traversable )
//Throw exception here
?>
需要注意的是,數(shù)組和對(duì)象可以通過(guò)foreach遍歷,但它們沒(méi)有實(shí)現(xiàn)Traversable接口,所以不是Traversable的示例:
<?php $array=[1,2,3]; $obj = (object) $array; var_dump($array instanceof \Traversable); var_dump($obj instanceof \Traversable); ?>
以上代碼輸出:
boolean false boolean false
補(bǔ)充說(shuō)明:
類未實(shí)現(xiàn)Iterator接口或者IteratorAggregate接口時(shí),執(zhí)行foreach遍歷將輸出所有其能夠訪問(wèn)的可見(jiàn)屬性
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- 淺談PHP SHA1withRSA加密生成簽名及驗(yàn)簽
- PHP7.1實(shí)現(xiàn)的AES與RSA加密操作示例
- ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱加密類示例
- PHP封裝的非對(duì)稱加密RSA算法示例
- 基于PHP RSA密文過(guò)長(zhǎng)加密解密 越過(guò)1024的解決方法
- PHP實(shí)現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)
- PHP的RSA加密解密方法以及開(kāi)發(fā)接口使用
- PHP實(shí)現(xiàn)的MD5結(jié)合RSA簽名算法實(shí)例
- PHP實(shí)現(xiàn)RSA簽名生成訂單功能【支付寶示例】
- php rsa 加密,解密,簽名,驗(yàn)簽詳解
- php基于openssl的rsa加密解密示例
- PHP rsa加密解密使用方法
- php實(shí)現(xiàn)RSA加密類實(shí)例
- 詳解PHP使用非對(duì)稱加密算法RSA
相關(guān)文章
PHP實(shí)現(xiàn)的通過(guò)參數(shù)生成MYSQL語(yǔ)句類完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)的通過(guò)參數(shù)生成MYSQL語(yǔ)句類,結(jié)合完整實(shí)例形式分析了生成MYSQL語(yǔ)句類的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2016-04-04
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法簡(jiǎn)單示例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法,結(jié)合具體實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承的相關(guān)概念、原理、使用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-12-12
php swoole多進(jìn)程/多線程用法示例【基于php7nts版】
這篇文章主要介紹了php swoole多進(jìn)程/多線程用法,結(jié)合實(shí)例形式分析了基于php7nts版使用swoole進(jìn)行多線程創(chuàng)建、調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
PHP中file_exists與is_file,is_dir的區(qū)別介紹
很顯然file_exists是受了asp的影響,因?yàn)閍sp不但有fileExists還有folderExists,driverExists,那么PHP中file_exists是什么意思呢2012-09-09
php str_pad() 將字符串填充成指定長(zhǎng)度的字符串
str_pad() 將字符串填充成指定長(zhǎng)度的字符串的用法。2010-02-02
php使用$_POST或$_SESSION[]向js函數(shù)傳參
php向js函數(shù)傳參的方法有多種,可以使用$_POST也可使用$_SESSION[' '],也可用echo語(yǔ)句進(jìn)行輸出,需要的朋友可以參考下2014-09-09
windows平臺(tái)中配置nginx+php環(huán)境
相對(duì)于linux來(lái)說(shuō),windows配置web環(huán)境不管是一鍵安裝包還是獨(dú)立配置簡(jiǎn)單多了,這次是講以NGINX作為web的本地的測(cè)試環(huán)境。2015-12-12

