Вообще по хорошему надо возвращать тот же тип, который и запрашиваешь, ну и обычно ожидается какой то итератор, а не нул, так не придётся городить велосипеды в представлениях
Да просто на оф сайте справа все функции просмотрите, чтоб понимать что есть в наборе, например использовали какую либо функция для работы с массивом, справа полный список функции для работы с массивами. Работаете с картинками через gd, так же справа все просмотреть, когда понадобиться вспомнить, что то подобное видел и реализация одной функцией