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

Добавить комментарий

Ваш адрес email не будет опубликован.