変更履歴

この拡張モジュールのクラス/関数/メソッドには次のような変更がありました。

VersionFunctionDescription
7.2.0number_formatnumber_format was changed to not being able to return -0, previously -0 could be returned for cases like where number would be -0.01.
 parse_strUsage of parse_str without a second parameter now emits an E_DEPRECATED notice.
7.1.0str_shuffleThe internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
 stripos負の offset をサポートするようになりました。
 strpos負の offset をサポートするようになりました。
 substr_count負の offset と length をサポートするようになりました。
7.0.0setlocalecategory パラメータが文字列を受け付けなくなりました。 このバージョン以降では、定数 LC_* だけしか使えません。
 substrstring の文字数が start と等しい場合に空文字列を返すようになりました。 これまでのバージョンでは、FALSE を返していました。
5.6.5cryptsalt として "*0" が渡されたときに、 他の crypt の実装にあわせて "*1" を返すようになりました。 これより前のバージョンの PHP 5.6 では、間違った DES ハッシュを返していました。
5.6.0cryptsalt を省略下場合に E_NOTICE が発生するようになりました。
 html_entity_decodeencoding パラメータのデフォルト値が、 default_charset の設定値に変わりました。
 htmlentitiesencoding パラメータのデフォルト値が、 default_charset の設定値に変わりました。
 htmlspecialcharsencoding パラメータのデフォルト値が、 default_charset の設定値に変わりました。
5.5.21cryptsalt として "*0" が渡されたときに、 他の crypt の実装にあわせて "*1" を返すようになりました。 これより前のバージョンの PHP では、間違った DES ハッシュを返していました。
5.5.11substr_comparelength を 0 にもできるようになりました。
5.5.1hex2bin入力が16進文字列として不正な場合に、警告を発するようになりました。
5.4.32, 5.5.16ucwordsdelimiters パラメータが追加されました。
5.4.4hex2bin入力の文字列長が奇数の場合に警告を発するようになりました。 PHP 5.4.0 ではそんな文字列も黙って受け入れていましたが、 最終バイトは切り捨てられていました。
5.4.0get_html_translation_tableencoding パラメータのデフォルトが UTF-8 に変わりました。
 get_html_translation_table定数 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
 html_entity_decode定数 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
 htmlentitiesencoding パラメータのデフォルトが UTF-8 に変わりました。
 htmlentities定数 ENT_SUBSTITUTE、ENT_DISALLOWED、 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
 htmlspecialcharsencoding パラメータのデフォルトが UTF-8 に変わりました。
 htmlspecialchars定数 ENT_SUBSTITUTE、ENT_DISALLOWED、 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
 htmlspecialchars_decode定数 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
 number_formatこの関数は、 dec_point や thousands_sep に複数バイトを指定できるようになりました。 それまでは、複数のバイトを指定しても先頭の 1 バイトしか使われませんでした。
5.3.7cryptBlowfish のモード $2x$ および $2y$ が追加され、高ビット攻撃に対応できるようになりました。
5.3.4get_html_translation_tableencoding パラメータが追加されました。
 strip_tagsstrip_tags は、 allowable_tags 内の自己終了型 XHTML タグを無視するようになりました。
5.3.3html_entity_decodeデフォルトのエンコーディングが ISO-8859-1 から UTF-8 に変わりました。
5.3.2cryptSHA-256 および SHA-512 による暗号化が追加されました。Ulrich Drepper の 実装 を使っています。
 cryptBlowfish で無効な rounds を指定したときに、DES に切り替えるのではなく "failure" 文字列 ("*0" あるいは "*1") を返すようになりました。
5.3.0cryptPHP に MD5 crypt, Standard DES, Extended DES および Blowfish の実装が含まれるようになりました。システム側でこれらのアルゴリズムがサポートされていない場合に、 この実装を使用します。
 htmlentities定数 ENT_IGNORE が追加されました。
 htmlspecialchars定数 ENT_IGNORE が追加されました。
 nl2brオプションの is_xhtml パラメータが追加されました。 以前のバージョンでは、杖に '<br />' が挿入されていました。
 setlocalecategory パラメータに 定数 LC_* ではなく文字列が渡された場合に、 この関数は E_DEPRECATED をスローするようになりました。
 stristrオプションの before_needle パラメータが追加されました。
 strlenこれより前のバージョンでは、配列を「Array」という文字列とみなして処理していました。 つまり文字列の長さは 5 になります。そして E_NOTICE レベルのエラーが発生します。
 strstrオプションの before_needle パラメータが追加されました。
5.2.5addcslashesエスケープシーケンス \v と \f が追加されました。
5.2.3htmlentitiesdouble_encode パラメータが追加されました。
 htmlspecialcharsdouble_encode パラメータが追加されました。
5.2.2 - 5.2.6substrstart が負の切り出しを意味したり 切り出し位置を超える値になった場合に false を返すようになりました。 それ以外のバージョンでは、文字列の先頭から取得します。
5.1.0explodelimit に負の数を指定できるようになりました。
 md5_fileストリーム API を使用した関数に変更されました。 これは md5_file('http://example.com/..') のようなラッパーで利用可能であることを意味します。
 sha1_fileストリーム API を使用するように変更しました。つまり、 sha1_file('http://example.com/..') のように ラッパーとともに使用できるということです。
 str_word_countcharlist パラメータが追加されました。
 substr_compare負の offset を使用できるようになりました。
 substr_countoffset と length パラメータが追加されました。
5.0.0strip_tagsstrip_tags がバイナリセーフとなりました。
 strrposneedle は 1 文字以上の文字列を指定可能です。
4.3.0stristrstristr がバイナリセーフとなりました。
 strrchrこの関数はバイナリセーフとなりました。
 strstrstrstr がバイナリセーフとなりました。
4.2.3strcollこの関数が win32 でも動作するようになりました。