ど素人から毛を生やす。<延>

str_replace()にNULLを突っ込むと…

Web > PHP 2018年6月21日(最終更新:26日前)

どもです。

仕事でちょっとヘマやらかしまして、ちょっと凹んでます。
まぁ失敗談は置いておいて、その過程で見つけてちょっと驚いたstr_replace()の話。

str_replace()にNULLを入れるとどうなるか、です。

var_dump(str_replace("a", "b", NULL));
// ⇒string(0) ""

var_dump(str_replace(NULL, "b", "aaabbb"));
// ⇒string(6) "aaabbb"

var_dump(str_replace("a", NULL, "aaabbb"));
// ⇒string(3) "bbb"

var_dump(str_replace(NULL, "b", NULL));
// ⇒string(0) ""

var_dump(str_replace("a", NULL, NULL));
// ⇒string(0) ""

var_dump(str_replace(NULL, NULL, NULL));
// ⇒string(0) ""

なんと、ひとつもエラーにならない。文字列型を返してくれる。

str_replace()を通したNULLは、すべて空の文字列に変換されてしまうようです。

ちなみにPHP4と5で事象確認済み。7の簡易テスト環境が欲しい今日この頃。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)