web-dev-qa-db-ja.com

PHPでは「関数split()は非推奨」ですか?

$stringText = "[TEST-1] test task 1 Created: 06/Apr/11  Updated: 06/Apr/11"; 
$splitArray = split(" ",$stringText);

非推奨:関数split()は27行目のC:\ wamp\www\RSS.phpで非推奨になりました

なぜこのエラーが発生するのですか?

14
chrithccmc

http://php.net/manual/en/function.split.php

マニュアルから

警告この関数はPHP 5.3.0で廃止されました。この機能に依存することは非常に推奨されません

注意:

PHP 5.3.0以降、正規表現拡張機能は廃止され、PCRE拡張機能が採用されました。この関数を呼び出すと、E_DEPRECATED通知が発行されます。PCREへの変換に関するヘルプについては、相違点のリストを参照してください。

代わりのpreg_split()を使用することになっていると思います。または、正規表現を使用していない場合は、explodeを使用します

34
JohnP

splitはexplodeに置き換えられました。詳細は http://php.net/explode を参照してください。スプリットと同じように機能しますが、スプリットは「非推奨」です。基本的に、これは古い関数であるため、使用することはできません。それ以降のバージョンのphpには含まれない可能性があります。

9
gnur

次の分解関数を使用します。

$command = explode(" ", $tag[1]);

これは、この場合の標準ソリューションです。その完全に働いています。

5

ああ、 ドキュメント はそれについて言います。そして、ドキュメントはこれの代わりにどの関数が使用されるべきかを述べています:

  1. preg_split
  2. 分解
  3. str_split
3
Janis Veinbergs

関数が廃止されたためですか? error_reportingレベルをカスタマイズして、廃止されたエラーをログに記録または表示しないようにすることができます。ただし、問題を修正する方が賢明です(上記の単純な分割では、代わりにexplodeを使用します)。

1
Brad F Jacobs