インソースマーケティングデザイン
2018.04.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://insource-mkd.co.jp/';
$list = explode(',', $data);
print_r($list);
(出力)
Array
(
[0] => 101
[1] => マリンロード
[2] => https://insource-mkd.co.jp/
)
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://insource-mkd.co.jp/';
$list = preg_split('/,/', $data);
print_r($list);
(出力)
Array
(
[0] => 101
[1] => マリンロード
[2] => https://insource-mkd.co.jp/
)
以上です。ではまた。