私が思いつくことができる最高のものは
function is_array_alike($array) {
return is_array($array) || (is_object($array) && $array instanceof ArrayAccess && $array instanceof Traversable && $array instanceof Serializable && $array instanceof Countable);
}
うーん。もっときれいなものはありますか?
編集:のテストis_object
は不要のようです。それについてのセクションをPHPマニュアルのインスタンスに追加しました。