この数年でPHPでの開発でもCI(継続的インテグレーション)はかなり活発に行われるようになり、PHPUnitなどのテスティングフレームワークのほか、PHPStanやPhanなどのツールによる静的解析も浸透しつつあります。 関数/メソッドの引数と返り値、そしてオブジェクトのプロパティは比較的に型がつけやすいところですが、現状で無法地帯な箇所があります。そうです、配列の内部構造です。実際のところ、PHPDocに @param array や @return array と書くことは mixed と書くのとあまり大きな違いはありません。 ご存じの通り、PHPの配列は、動的配列(可変長配列)と連想配列(ハッシュテーブル、マップ)の特徴を併せ持ったデータ構造であり、配列は変数と同じくあらゆる値を格納することができるからです。 近年の開発が活発なPHPの静的解析ツール(PhpStormを除く)では配列