system
マリンロード

2018.4.25システム開発 

マリンロード

[PHP] PHP7でsplit関数は削除されたから…

こんにちは。エンジニアの高田です。
先日季節はずれの胃腸炎に家族全員でかかり大変なことになりました…。

PHP5系で動いていたプログラムがPHP7上で動かなくなったので、調べてみたら原因は「split関数」でした。
「split関数」は PHP5.3.0 で非推奨となり、 PHP7.0.0 で削除されました。

split関数(PHP7から削除)

「split関数」は PHP5.3.0 で非推奨となり、 PHP7.0.0 で削除されました。
このようにマニュアルを確認してみると書いてありました。
参考:PHP: split – Manual

split関数とは、文字列を分割して配列に格納してくれる関数です。
今後は、「explode関数」または「preg_split関数」を使用します。
マニュアルには↓こう書いてあります。

警告
この関数は PHP 5.3.0 で 非推奨 となり、 PHP 7.0.0 で 削除 されました。

この関数の代替として、これらが使えます。

・preg_split()
・explode()
・str_split()

 

split

(PHP 4, PHP 5)
split - 正規表現により文字列を分割し、配列に格納する

array split ( string $pattern , string $string [, int $limit = -1 ] )

 

explode関数(正規表現を使わない場合)

今後はこちら「explode関数」を使用しましょう。
参考:PHP: explode – Manual

explode

(PHP 4, PHP 5, PHP 7)
explode - 文字列を文字列により分割する

array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )

文字列の配列を返します。この配列の各要素は、 string を文字列 delimiter で区切った部分文字列となります。

(例)

<?php
    // カンマ区切りのデータを配列に格納してみます
    $data = '101, マリンロード, https://www.marineroad.com/';
    $list = explode(',', $data);
    print_r($list);

 
(出力)

Array
(
    [0] => 101
    [1] =>  マリンロード
    [2] =>  https://www.marineroad.com/
)

 

preg_split関数(正規表現を使う場合)

正規表現を使う場合、今後はこちら「preg_split関数」を使用しましょう。
参考:PHP: preg_split – Manual

preg_split

(PHP 4, PHP 5, PHP 7)
preg_split - 正規表現で文字列を分割する

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

指定した文字列を、正規表現で分割します。

(例)

<?php
    // カンマ区切りのデータを配列に格納してみます
    $data = '101, マリンロード, https://www.marineroad.com/';
    $list = preg_split('/,/', $data);
    print_r($list);

 
(出力)

Array
(
    [0] => 101
    [1] =>  マリンロード
    [2] =>  https://www.marineroad.com/
)

 

以上です。ではまた。

現役ウェブ解析士が教えるWebサイトの読み解き方 イメージ
システム開発サービスはこちら

その他の記事

ページTOPへ