PHPで「Call to undefined function mb_str_split()」エラーの対応方法
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で定義済みの変数 / 定数とincludeしているファイル一覧を取得する方法
他社が作成されたPHPのファイルを読み解く際に、定義済みの変数 / 定数や、in ...
-
-
PHPでExcelシートを出力する方法(PhpSpreadsheet)
PHPでエクセルシートを出力させたい。以前はPHPExcelを利用していたが現在 ...
-
-
PHPでPOST送信する際に多次元配列も送る方法
PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとO ...
-
-
Ajaxでデータを受信した際にリファラのチェックをしたい
Ajaxでデータを受信し、MySQLにINSERTするプログラムがあった。そこま ...
-
-
CodeIgniter3で共通の変数と定数を設定する方法
CodeIgniter3系で共通する配列が入った変数と、定数を設定したかった。以 ...