公式の概要。
mixed end ( array &$array ) end() は array の内部ポインタを最後の要素まで進め、その値を返します。
返り値(公式から)
配列。この配列は参照渡しとなります。関数内で配列の中身を変更するからです。 つまり、ここには配列そのものを渡さなければならず、 配列を返す関数を指定することはできません。 参照渡しできるのは、実際の変数だけだからです。
これ、空の配列をendするとどうなるのだろうか。やってみた。
<?php $array = array(); var_dump(end($array));
結果
bool(false)
falseが返ってくるみたいですね。
と思ったら、公式にちゃんと仕様が書いてありました。
返り値(公式から)
最後の要素の値、あるいは空の配列の場合は FALSE を返します。