Fatal Error: Unexpected BLOG

主に自分用の備忘録として

【PHP】文字列を「\」で分割する場合

文字列を「\」で分割して、配列として取得する際に、特に何も考えずいつも通り

    $array = split("\\", $string);

としたら、

    Warning: split(): REG_EESCAPE in ...

て怒られた。

    $array = explode("\\", $string);

が正解のよう。

今まで特に気にしてなかったけど、split()はPOSIX正規表現関数なのね。
対してexplodeはString関数。

    $array = split('\', $string);

ってことのなのかな?

でも公式見たら、splitはすでに非推奨。
デリミタを正規表現で指定したい場合はpreg_split()を使うようにとのこと。

    $array = preg_split("/\\\/", $string);

やはり\で分割する場合、正規表現使うとエスケープがややこしくて「は?」てなるので、大人しくexplode()使います。

参照サイト