本文實(shí)例講述了PHP檢測接口Traversable用法。分享給大家供大家參考,具體如下:
Traversable用于檢測一個(gè)類是否可以使用 foreach 進(jìn)行遍歷,這是一個(gè)無法在 PHP 腳本中實(shí)現(xiàn)的內(nèi)部引擎接口,實(shí)際編程中我們使用Iterator接口或者IteratorAggregate接口來實(shí)現(xiàn)遍歷。
接口摘要:
Traversable {
}
Traversable 重要的一個(gè)用處就是判斷一個(gè)類是否可以遍歷,下面是官方例子:
<?php
if( !is_array( $items ) && !$items instanceof Traversable )
//Throw exception here
?>
需要注意的是,數(shù)組和對(duì)象可以通過foreach遍歷,但它們沒有實(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ǔ)充說明:
類未實(shí)現(xiàn)Iterator接口或者IteratorAggregate接口時(shí),執(zhí)行foreach遍歷將輸出所有其能夠訪問的可見屬性
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!