PHP – проверить существует ли функция
Иногда возникает вопрос: Как проверить, существует ли функция или нет, как встроенная, так и пользовательская. В php для это сделать достаточно просто, для этого есть встроенная функция function_exists, которая принимает 1 параметр, имя функции. Ниже примеры использования:
Пример 1 проверка встроенной функции:
1 2 3 4 5 6 7 8 9 | <?php if (function_exists( 'strstr' )){ echo 'Функция strstr есть' ; } else { echo 'Функции strstr нет' ; } ?> |
В результате будет вывод: Функция strstr есть
Сделаем еще одну проверку, без объявления функции, также в конструкции if – else. проверим, объявлена ли функция.
Пример 2 проверка не объявленной пользовательской функции:
1 2 3 4 5 6 7 8 9 | <?php if (function_exists( 'myFunc' )){ echo 'Функция myFunc есть' ; } else { echo 'Функции myFunc нет' ; } ?> |
В результате мы получим вывод: Функции myFunc нет, так как она не была объявлена и среди встроенных такой нет.
В следующем примере, объявим эту функцию и также проверим:
Пример 2 проверка объявленной пользовательской функции:
1 2 3 4 5 6 7 8 9 10 11 | <?php function myFunc(){} if (function_exists( 'myFunc' )){ echo 'Функция myFunc есть' ; } else { echo 'Функции myFunc нет' ; } ?> |
Результат выполнения: Функция myFunc есть
Стоит отметить, что результат будет положительный, даже если функция не имеет параметров и ничего не возвращает, мы всего лишь получаем информацию, что она есть. Функция также проверяет и подключаемые файлы при помощи require и unclude