2016-12-27 8 views
-4

変数にグローバルにアクセスしようとしています。別のスクリプトファイルでPHP変数をグローバルに使用する

私はファイルtest1.phpを作成し、その中で私が

<?php 
    $a = 5; 
    $b = 7; 
?> 

を書いて、別のファイルtest2.phpに私は

<?php 
    global $a, $b; 
    echo $a + $b; 
?> 

、書きましたが、結果は0

ので、

ました
  1. Can not I u他のページに$a, $b
  2. このためにセッションを使用する必要がありますか?
+0

ファイルを含める場合のみ。今、右手は何をしているのか分かりません。 –

+1

'$ _SESSION'を使用する必要があるスクリプトを' include'する必要があります。または、あるスクリプトから別のスクリプトにパラメータとして渡します。 – Jeff

+1

[参考:変数スコープとは何ですか?どこの変数から "未定義変数"のエラーにアクセスできますか?](http://stackoverflow.com/questions/16959576/reference変数スコープはどの変数からでもアクセス可能です--- http://php.net/manual/en/language.variables.scope.php –

答えて

1

より良い方法は、globals.phpというファイルを導入し、そこにすべての変数を追加することです。

<?php 
    $a = 5; 
    $b = 7; 
?> 

は、その後、あなたの test2.phpファイルで、 globals.phpが含まれます。その後、変数を使用することができます。あなたが関数内でそれらを通過することなく、関数内で自分の変数を使用している場合

include "globals.php" 
echo $a + $b; 

globalキーワードを使用することができます。

のような、

include "globals.php" 

function calculate(){ 
    global $a, $b; 
    return $a + $b; 
} 

echo calculate(); 

あなたはglobals.phpのようなファイルを使用しない場合は、あなたのオプションは、より多くのものを持っている場合、非常に醜いことができ、$_SESSIONに値を保存することです!しかし、まだ使用することができます。

あなたは初心者だと言っているので、常に別のものを分けておくとよいです。グローバル変数を個別に、関数を別々に、など...それらを使用するファイルに含める。この分離は、成長すると簡単に物資を管理するのに役立ちます。 (例:デバッグしたい機能の場合は、どこにあるのか知っています)

これはあなたを助けました!ありがとう。

関連する問題