2016-07-26 3 views
0

は、ここに私のテストで私の枠組みここで配列はTraversableのインスタンスですか?

array(2) { 
    [0]=> 
    string(2) "40" 
    [1]=> 
    string(2) "41" 
} 

の私の基本的な配列である:

echo($array instanceof Traversable); // 0 
echo(is_array($array)); // 1 

それは私の標準のPHPの配列は、一貫性のないと思われるTraversableのインスタンスではないようです。

+0

配列はPHPでは 'Traversable'を実装していませんが、' foreach'の中ではtraversableになります – Aaron

+0

配列はクラスではないので、どのクラスやインタフェースからも拡張することさえできません。トラバーサブルはイテレータなどのためのものです。 – Rizier123

+0

PHP 7.1より、擬似型 'iterable'を型宣言として使用できます。これは、配列やTraversableを実装するものを使用できます:http://php.net/manual/en/language.types.iterable.php –

答えて

2

右は、トラバーサブルではありません。

インターフェイスTraversableの主な目的は、オブジェクトをforeachで使用可能にすることです。

関連する問題