• 締切済み

includeしたファイルに変数を持ち込むには?

hoge.phpでセットした変数を、そのあとにincludeした別ファイルに持ち込むことは出来るのでしょうか? 以下のような処理がしたいと思っているのですが、この状態でhoge.phpを実行すると$a=NULLとして処理されてしまいます。 inc.php  <?php    if ($a=="値") {     //TRUE処理    } else {     //FALSE処理    }  ?> hoge.php  <?php   $a = "値";   include "./inc.php";  ?>

  • PHP
  • 回答数2
  • ありがとう数1

みんなの回答

noname#49664
noname#49664
回答No.2

よくわからないのですが、includeするファイル内の処理を関数として定義しておき、引数で必要な値を受け渡して呼び出す・・というのではダメなんでしょうか?? inc.php  <?php    function inc_myfunc($a){     if ($a=="値") {        //TRUE処理      } else {        //FALSE処理      }     return null;    }  ?> hoge.php  <?php   $a = "値";   include "./inc.php";   inc_myfunc($a);  ?> 例えば、こんな感じでできそうに思いますが。そういうことではない??

amane-port
質問者

補足

そもそもinc.phpのほうに$aが渡っていないのです。 ためしにinc.phpに var_dump($a); を書いたところ、NULLが返ってきます。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

PHP4だと普通にできますが? できなければグローバルと明示してやればいいと思います。。

参考URL:
http://php.s3.to/man/language.variables.scope.html
amane-port
質問者

補足

返答ありがとうございます。 global宣言もしてみたんですが、できなかったのです。 使用している鯖はロリポップなのですが…。

関連するQ&A

  • include先でのinclude元の変数について

    度々お世話になっています。 include先でのinclude元の変数の扱いについて疑問に思ったので質問させて下さい。 include元ファイルtest.php include先ファイルinclude.phpとしてtest.php内の変数をinclude.phpに渡したいと考え以下のコードを書きました。 test.php <?php $test = "いけるかな?"; include "include.php"; ?> include.php <?php echo $test; ?> 結果、$testの値を表示する事が出来なかったのですが、$testの値を表示するためにはどのような記述方法があるのでしょうか? また、このような動作を期待している理由としてはPHP部分とHTMLを分離させたいと考えており、ユーザ定義関数に変数を引数として渡して、出力処理をユーザ定義関数内で行うという事も考えたのですが、include先に値を渡す事が出来れば、非常にわかりやすく分離出来ると考えたからです。 他に、PHP部分とHTML部分をファイル分けするやり方などありましたら教えて頂けますとうれしいです。

    • ベストアンサー
    • PHP
  • includeで読み込んだ内容を変数にいれたい

    includeで読み込んだファイル内容を変数に格納する方法はありますか? 動的ページをHTMLファイルで出力したいと思っています。 例: if(!file_exists("$file")){ mkdir("$file",0755); } $fp = fopen("$file/index.html","w") flock($fp, LOCK_EX); $hoge = include("./hoge.php"); fputs($fp,'<html>'."\n"); fputs($fp,'$hoge'."\n"); fputs($fp,'</html>'."\n"); この様に、$hogeの中に読み込んだファイルを書き込みたいのですが、 うまくできません。 この様な方法で変数にいれるのは可能でしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • ISSETで変数に値が入っていないか確認するのですが

    ISSETで変数に値が入っていないか確認するのですが <? $a = ''; if (isset($a)) { echo "何か入っています。"; } else { echo "空っぽです。"; } ?> 上のコードで「何か入っています。」がエコーされてしまいます。issetは値が入っていなければFALSEを返すと思ったのですが違うようなのでちょっと混乱してしまったのですが、これがマニュアルに書いてある「NULL に設定されている変数を調べた場合、 isset() はFALSE を返します。 」、ということなのでしょうか?

    • ベストアンサー
    • PHP
  • 関数の引数に未定義の変数を渡すとエラーが出る

    自作の関数で、issetとemptyを一緒に判定する関数を作っているのですがエラーが出ます。 ある変数が「未定義」または「null」または「""(空白)」の場合はnullである、という関数を作りたいです。 ------------------------------------------ function is_null_ex($value){  if (!isset($value)) {return true;}               // 未定義かnullの場合、trueを返す  else if (strlen(strval($value)) === 0) {return true;}   // 空白の場合はtrueを返す  else {return false;}                      // $valueに値が入っている場合はfalseを返す } is_null_ex($val); ------------------------------------------ 上記の関数で$valueが未定義の場合にfuncを使うと、次のようなエラーが出ます。 Notice: Undefined variable: val つまり、未定義の変数を引数に渡すとエラーが出ます。 「未定義なら関数に渡さなければ?」と思うかもしれませんが、そもそもこの関数は「未定義」または「null」または「""(空白)」を判定したい関数なのです。 この場合、どうすれば良いのでしょうか? エラーは出ますが上記の関数で「if (!isset($value)) {return true;}」の部分できちんと判定はされています。 PHP5.3系で運用しています。 ぞうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでの変数の扱い方

    PHPで(1)、(2)共にtrueになります。 (1)、(2)についてどうしてこうなるのか簡単に解説してもらえませんか。 また(1)が正しく動作するようにするにはどう修正すればいいですか。 (1) $value=0; if($value == '-'){ print("true"); }else{ print("false"); } (2) $value='-'; if($value == 0){ print("true"); }else{ print("false"); }

    • ベストアンサー
    • PHP
  • ROBOTC の bSoundActive 変数

    授業で LEGO MINDSTORMS を使っています。 ROBOTC for MINDSTORMSのシステム変数にbSoundActiveがありますが、これは何を意味している変数なのですか? http://www.robotc.net/support/nxt/MindstormsWebHelp/index.htm#page=nxt_functions/Sound/Sound.htm ROBOTCの英文ヘルプからすると「音を再生中ならばtrue、再生していなければfalse」という意味だと思うのですが、「サウンド機能が使える状態ならばtrue、使えなければfalse」との説明を受けました。 その変数はむしろbPlaySoundsかbSoundQueueAvailableではないでしょうか。 また、C系はC++の経験が少しある程度で、普段はPHPやHSPを使っているため、ROBOTCも半分PHPの感覚でプログラミングしていました。 if (bSoundActive) { A; } else { B; } では何度実行してもパースエラーなくBが実行されたので、プログラムのこの位置でbSoundActiveはfalseなのだなぁと思ったのですが、同じ場所で==trueをつけた場合、 if (bSoundActive==true) { A; } else { B; } ではAが実行されてしまいます。今度はbSoundActiveはtrueと判断せざるを得ません。 この変数はbool型なので、普通==trueは省略してもよいと思うのですが、それだと不都合があるのですか?

  • PHPの不等式に変数を使う

    いつもお世話になります PHPの不等式に変数を使うことは出来ますでしょうか? 例えば $a = 'huga'; $b = 'huga'; if($a == $b){ echo 'hoge'; } 結果 hoge 右辺と左辺の間、不等式を変数にしたいです $a = 'huga'; $b = 'huga'; $c = '==' if($a $c $b){ echo 'hoge'; } 期待する結果 hoge 上のソースはもちろんパースエラーとなり成り立ちません 型変換や考えられるキーワードで検索したのですが、出てきませんでした 下のように strpos()、strstr()等で$cの内容を解析して、条件分岐すれば期待の結果が出せるのは分かります if( strpos($c,'==') !== false && $a == $b){ echo 'hoge'; } (上記で成り立つのは分かります) 教えていただきたい内容は、「不等式を変数で成り立たせる方法」です $c= '=='; PHPに詳しい方お教えいただけると嬉しいです

    • ベストアンサー
    • PHP
  • 変数の受け渡し

    質問.1 hoge.phpから header('Location: hoge2.php');でページ移動させた場合、hoge.phpで使っていた変数をhoge2.phpに渡す方法ってありますか?クッキーやSESSION以外の方法があればおねがします、formの値をhoge2.phpに渡したいのです 質問2 クッキーはhoge.phpでセットした後、同じページ内で削除はできないのですか?

    • ベストアンサー
    • PHP
  • COOKIEを用いたセッション管理

    PHPでCOOKIEを用いたセッションチェックをしようとしています。 トップページを表示する関数とセッション管理の関数に分けて処理をしています。 function index(){ session_start(); if($this->CheckSession()) ログインのページ else ログオフのページ } function CheckSession(){ if(!$_COOKIE["hoge"]) DBにセッションID(COOKIE["hoge"]の値)を入れる setcookie("hoge",session_id()); return false; else  return true; } このとき更新ボタンを押すたびにCOOKIEの値が変わります。 なぜでしょうか?

    • ベストアンサー
    • PHP
  • issetで変数チェック

    php初心者です issetで変数の中に値が入っているか調べたいのですがphp5.4でフォームから文字列を送るとfalseになってしまいます。 文字列が入っているかチェックしたいのですがどうしたらいいでしょうか? if(isset($_POST['title'])&&$_POST['title']!=''){ $title = $_POST['title']; }else{ $title = ''; } よろしくお願いします

    • ベストアンサー
    • PHP