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

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

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

2018年6月21日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。

仕事でちょっとヘマやらかしまして、ちょっと凹んでます。
まぁ失敗談は置いておいて、その過程で見つけてちょっと驚いた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の簡易テスト環境が欲しい今日この頃。

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