• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Warning: mb_strpos() [function.mb-strpos]: Empty delimiterが出力される原因がわかりません。)

「mb_strpos()」関数の「Empty delimiter」エラーの原因と解決方法

このQ&Aのポイント
  • mb_strpos()関数が「Empty delimiter」エラーを出力する原因について説明します。
  • このエラーは、csvファイルの特定のフィールドの内容に「所定の文字列」が含まれていない場合に起こります。
  • エラーの解決方法としては、csvファイルのフィールドの内容を確認し、必要な場合は所定の文字列を含めるように修正する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • twin_shu
  • ベストアンサー率100% (10/10)
回答No.2

1の者です。 >このWarningがcsvファイルのレコードに「所定の文字列」を含んだものがない場合であっても出力されないようにできるのであれば mb_strpos()関数は引数(1)に引数(2)の文字が存在しなければNULLを返す処理になってるので、正常に動いてるのであればWarningではなくNULLが帰ってくるはずです。 なので、まずはWarningを解決するべきかと。 ちょっと調べてみたところ、どうも引数(2)の「所定の文字列」がNULLだと出る警告のようですね。 なので、まずはその「所定の文字列」にデータがあるかどうか、または設定方法が間違っていないかを調べてみるといいと思います(^-^)

tfj3116
質問者

お礼

教えて頂いたことをもとに再度2つの引数がnullとなることがないか 確認したところ、やっぱりありました。 そこで、これらの引数がnullとなることがないように 予め編集する処理を加えることで解決できました。 大変お手数をかけました。 ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • twin_shu
  • ベストアンサー率100% (10/10)
回答No.3

失礼。 mb_strpos()関数で文字が存在しないときに返すのは、NULLではなくFALSEでした(^^;

すると、全ての回答が全文表示されます。
  • twin_shu
  • ベストアンサー率100% (10/10)
回答No.1

環境がわからないのではっきりとはわかりませんが、参考サイトの806、808のような症状でしょうか? とりあえず、Warningが出ても動作に問題ないのであれば、関数の頭に「@」をつければ、Warningメッセージは出てこなくなります。 @mb_strpos(○,○)

参考URL:
http://www.rcdtokyo.com/bbs/test/read.cgi/pc2m/1133526993/801-900
tfj3116
質問者

補足

早速教えて頂き、ありがとうございます。 「参考サイトの806、808のような症状か?」については、 データベース等との関連性がないため、同じ背景があるとは思われません。 Warningは、出力されてもこれと言った問題は併発していないと思われますので、とりあえずは、@mb_strpos(○,○)とすることで、出力されないように致しました。 しかし、このWarningがcsvファイルのレコードに「所定の文字列」を含んだものがない場合であっても出力されないようにできるのであれば、その方策を是非教えて頂きたく、よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A