【PHPエラー】Call to undefined function split()の解決方法
PHPでプログラムを作っていると突然表示されるエラー文章。突然エラーが表示されると焦ってしまいますよね。
今回の記事ではPHPエラーの中でもFatal error: Uncaught Error: Call to undefined function split()
について、原因から実際の具体例、その解決方法まで順を追って詳しく解説したいと思います。
この記事の目次を表示
Fatal error: Uncaught Error: Call to undefined function split()とは
まずは実際にFatal error: Uncaught Error: Call to undefined function split()
がどのように表示されるのか見てみましょう。
このエラーは以下の画像のように表示されます。

Fatal error: Uncaught Error: Call to undefined function split() in ●●:▲▲ Stack trace: #0 {main} thrown in ●● on line ▲▲
このエラーが表示される原因は定義されていないsplit
関数を使用したため起こるエラーです。
- ●●・・・未定義のsplit関数が書かれている「ディレクトリ名/ファイル名」
- ▲▲・・・エラーの原因となる処理が書かれている行数
「●●ファイルの▲▲行目でsplit関数が使用されているよ」という内容のエラー文章です。
split
関数はPHPの組み込み関数でしたが、PHP5.3で非推奨となり、PHP7以降で廃止されました。
そのため古いシステムのPHPをアップデートした際に発生する可能性があります。
Fatal error: Uncaught Error: Call to undefined function split()が起こる具体例
”split関数が使用されている”と書きましたが、実際にどういうことなのか、実際にこのFatal error: Uncaught Error: Call to undefined function split()
が発生するコードを交えてご紹介します。
<?php
$data = "a,b,c,d,e,f";
$text = split(",", $data);
?>
split
関数はPHP7以降廃止されている組み込み関数のため、使用するとFatal error: Uncaught Error: Call to undefined function split()
が表示されます。
Fatal error: Uncaught Error: Call to undefined function split()の解決方法
split
関数はPHP7以降廃止されている組み込み関数のため、エラーが起こるとご紹介しました。
そのため、split
関数と同じ働きをする代替関数のexplode
関数に置き換えてあげることでエラーは解消します。
<?php
$data = "a,b,c,d,e,f";
$text = explode(",", $data);
// var_dump($data);
// array(6) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" [5]=> string(1) "f" }
?>
このふたつの関数は厳密には異なる動きをしましたが、文字列を分解して配列で返すという意味では、同じ動作をする関数です。
まとめ
いかがでしたか?
同じ言語でもバージョンが変わることで使用出来なくなる関数や機能が出てきます。バージョンアップによる不具合はつきものなのでいきなりアップデートするのではなく、テスト環境で検証をしたうえでアップデートするようにしましょう。