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