• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:php Undefined variableエラー)

phpのUndefined variableエラーの原因と解決方法

このQ&Aのポイント
  • phpファイルを実行する際に、Undefined variableエラーが発生しました。エラーの原因は、変数$pElementが定義されていないことです。
  • Undefined variableエラーを解決するためには、変数$pElementを事前に定義する必要があります。変数の初期値を設定することでエラーを回避することができます。
  • 初歩的なエラーですが、変数を使用する前に必ず定義するようにしましょう。また、エラーメッセージに表示されるファイルと行数を確認し、エラーの発生箇所を特定することも重要です。

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

  • ベストアンサー
回答No.2

> if($_start > strlen( $pElement ) && $_stop > $_start ){ ↓ if(isset($pElement) && $_start > strlen( $pElement ) && $_stop > $_start ){ ※Notice: Undefined variable: pElement in C:\xampp\htdocs\scrape_func.php on line 31 「Notice: Undefined variable」 でgoogle検索してみましょう。 http://www.google.co.jp/search?q=Notice%3A+Undefined+variable&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a エラーメッセージで検索をすることが解決の第一歩です。

noname#163332
質問者

お礼

ご回答ありがとうございます。そもそも、変数$pElementに値を格納していなかったのが、問題だったんですね。それで、undefined valuableエラーと出てしまっていたと。ありがとうございます。おかげさまで無事解決致しました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

ん~・・・ >function getBlock( $pStart, $pStop, $pSource, $pPrefix = true ) { >$_data = null; >$_start = strpos( strtolower( $pSource ), strtolower( $pStart ), 0 ); >$_start = ( $pPrefix == false ) ? $_start + strlen( $pStart ) : $_start; >$_stop = strpos( strtolower( $pSource ), strtolower( $pStop ), $_start ); >if($_start > strlen( $pElement ) && $_stop > $_start ){ >$_data = trim( substr( $pSource, $_start, $_stop - $_start )); >} >return( $_data ); >} このユーザー関数getBlock()の中で$pElementを利用していますが 関数の外側からも持ってきていないし、なかで宣言もしていないので $_start > strlen( $pElement )自体無意味ですね よくよく仕様を見直した方がよいでしょう

noname#163332
質問者

お礼

ご回答ありがとうございます。そもそも、変数$pElementに値を格納していなかったのが、問題だったんですね。それで、undefined valuableエラーと出てしまっていた訳なんですね。ありがとうございます。おかげさまで無事解決致しました。

回答No.1

> if($_start > strlen( $pElement ) && $_stop > $_start ){ ↓ if(isset($pElement) && $_start > strlen( $pElement ) && $_stop > $_start ){ ※Notice: Undefined variable: pElement in C:\xampp\htdocs\scrape_func.php on line 31 「Notice: Undefined variable: * in * on line *」(環境によって変わる部分は「*」にする) でgoogle検索してみましょう。 http://www.google.co.jp/search?q=Notice:+Undefined+variable:+*+in+*+on+line+*&hl=ja&safe=off&client=firefox-a&hs=cOa&rls=org.mozilla:ja:official&prmd=imvnsfd&lr=lang_ja&sa=X&ei=1tpDT4rCCoyTiQedxLW8BA&ved=0CBwQuAE&biw=1440&bih=715 エラーメッセージで検索をすることが解決の第一歩です。

関連するQ&A