【PHP】関数が存在するか確認して関数を定義する

更新日:2023/03/21

PHPはバージョンが異なると使用できない関数が多いです。
そのため複数のバージョンで動作させる可能性があるコードは、コード上で対象の関数が存在するかどうかを確認して、代替処理を提供するなどの措置をとる必要があります。

今回は、その方法を紹介します。

 

関数が存在するか確認する

関数が存在するか確認するには、function_exists()を使用します。

function_exists( $function_name )

$function_nameは関数名を文字列で指定します。
関数が存在する場合trueが返ります。

  // 関数が存在するかを確認
if(  function_exists( 'function_name' ) ){

}
  // 関数が存在しないかを確認
if(  !function_exists( 'function_name' ) ){

}

 

使用例

PHP8で導入されたstr_starts_with()とstr_ends_with()をPHP7以前で使用可能にします。

if( !function_exists('str_starts_with') ){
    function str_starts_with( $haystack,  $needle){
        return strncmp($haystack,$needle,strlen($needle)) === 0;
    }
}
if( !function_exists('str_ends_with') ){
    function str_ends_with( $haystack, $needle){
        return substr($haystack,-strlen($needle)) === $needle;
    }
}

更新日:2023/03/21

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。