以前にここからコード スニペットを取得し、最初にコピーして貼り付けたこの構文に興味がありました。
function create(array &$data){
#blah blah...
}
それ自体でarray &$data
はなく、その目的は何ですか? &$data
言い換えれば、ステートメントarray
はこのコンテキストで何をしますか?
これはタイプヒンティングと呼ばれます:
PHP 5 では、型ヒントが導入されました。関数は、パラメーターをオブジェクト (関数プロトタイプでクラスの名前を指定することにより)、インターフェース、配列 (PHP 5.1 以降)、または呼び出し可能 (PHP 5.4 以降) にすることができるようになりました。ただし、NULL がデフォルトのパラメータ値として使用されている場合は、以降の呼び出しの引数として許可されます。
クラスまたはインターフェイスが型ヒントとして指定されている場合、そのすべての子または実装も許可されます。
型ヒントは、int や string などのスカラー型では使用できません。特性も許可されていません。