勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPで「Call to undefined function mb_str_split()」エラーの対応方法

  PHP

PHPにて「Fatal error: Uncaught Error: Call to undefined function mb_str_split() in xxx.php」というエラーログが見受けられた。以下に原因及びmb_str_split()関数の代替手段についてのメモ。

 

原因

mb_str_split()関数はPHP7.4以上から利用可能となるが、エラーが発生した環境は7.3系だったため発生した。

 

代替手段

if( !function_exists('mb_str_split')){
    function mb_str_split(  $string = '', $length = 1 , $encoding = 'utf-8' ){
        if(!empty($string)){ 
            $split = array();
            $mb_strlen = mb_strlen($string,$encoding);
            for($pi = 0; $pi < $mb_strlen; $pi += $length){
                $substr = mb_substr($string, $pi, $length, $encoding);

                if( !empty($substr)){ 
                    $split[] = $substr;
                }
            }
        }
        return $split;
    }
}

マニュアルページのコメントとほぼ同じだけど第3引数が未設定の場合うまく動かなかったため、デフォルトをUTF-8に指定した。

 - PHP

  関連記事

PHPでランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法
PHPでランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法

PHPでランダムなカラーコードを生成したい。自作するとなると「0~9」「a~f」 ...

PHPで土日祝日及び営業時間を考慮した上で翌○営業日を計算する方法
PHPで土日祝日及び営業時間を考慮した上で翌○営業日を計算する方法

PHPで翌○営業日を計算したい。例えば本日が2021/04/15で翌5営業日を計 ...

PHPでデータをファイルキャッシュさせる(Cache_Lite)
PHPでデータをファイルキャッシュさせる(Cache_Lite)

最近携わった案件でPHPでファイルキャッシュをしているシステムがあった。今までフ ...

PHPで引数の先頭に&(アンパサンド)をつける参照渡し(リファレンス渡し)について
PHPで引数の先頭に&(アンパサンド)をつける参照渡し(リファレンス渡し)について

他社が作成されたPHPのソースコードを拝見していると関数の引数の頭に&( ...

【2025年版】PHPとStripeを用いてサイト内にクレカ決済及びキャンセル機能を実装する方法
【2025年版】PHPとStripeを用いてサイト内にクレカ決済及びキャンセル機能を実装する方法

5年ほど前にPHPとStripeを用いたクレカ決済機能をテスト実装したが最近試し ...