ArrayAccessを実装すれば、自作のクラスのインスタンスオブジェクトを配列のように利用することができそうです!

しかし、array_mapなどの配列系の標準函数には利用できませんでした。

以下のコードでは簡単のために、SPLに含まれるArrayIteratorを例にとります。

<?php
array_map('gettype', array_map('floatval', [1, 2, 3]));
// ["double", "double", "double"]

array_map('gettype', array_map('floatval', new ArrayIterator([1, 2, 3])));
// PHP Warning:  array_map(): Argument #2 should be an array in /tmp/array_access.php on line 5
// PHP Warning:  array_map(): Argument #2 should be an array in /tmp/array_access.php on line 5

自作のオブジェクトやArrayIteratorなどのArrayAccessを実装したクラスのインスタンスを配列と区別なく利用したいのですが、何か解決策はありますか?

タイプヒントでarrayを期待する箇所で利用できると、もっと嬉しいです。