本文實(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ù)組和對象可以通過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 falseboolean false
補(bǔ)充說明:
類未實(shí)現(xiàn)Iterator接口或者IteratorAggregate接口時(shí),執(zhí)行foreach遍歷將輸出所有其能夠訪問的可見屬性
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選