私はこれを短くして1日を過ごさないようにしていますが、PHPの特定のプロジェクトをしばらくは続けてきました。その上に。しかし、私はグローバル変数のこのコンセプトを把握するのに苦労しているようであり、それをどのようにして私が望むやり方でうまく使用するのか、なぜそれほど確かではないのですか?PHPでのグローバル変数のキャプチャと数学
私のプログラムは、基本的にこのん:
- は、IDの束を取り込み、グループ
- すべての情報のレポートを持っている彼らのためにページを作成します形成、ボタンが押されたら、ダウンロードすることができます
- ボタンを押したときにメンバの合計電流を取り込み、それをグローバル変数に変換します。グローバル変数に変換します。最後のレポート以降のメンバ変更)を取得して合計値を引いて
定義開始ページから始まる私のコードのいくつかの例グループの実際の視聴ページで
$GLOBALS['TheDifference']; //defines the variable for later use
、それは各グループのたびに繰り返されますので、この文はforeachの中で心に留めておく
$MemberDifference;
if ($MemberDifference == 0) {
$MemberDifference = $FailureMessage;
}
//the above will be blank at first due to nothing being in it
$pastmembers = $GLOBALS['TheDifference'];
if ($pastmembers == 0) {
$pastmembers = $TotalMembers;
}
//this activates when the variable becomes filled
$MemberDifference = $pastmembers - $TotalMembers;
そして最後に、レポートページ上のボタンがクリックされたとき:
$GLOBALS['TheDifference'] = $TotalMembers;
問題があります基本的には、私のMemberDifference変数は常に0で、希望通りには保存されていないようです(この変数の直上のコードから0が変わり、PastMembersから新しいTotalMembersを減算することになります)。
私はこれを主に説明したいと思いますが、あまりにも多くの情報であっても。 PHPは私の最高の言語ではなく、私は何かが非常にシンプルなものを見逃していると感じている間、私の人生は私の頭の中でそれを包むことができません。
ありがとうございました!
*このプログラムは本質的に少なくとも5つの異なるページで実行され、グローバル変数は私が実際にこれを行う方法として知っている唯一のものであるため、編集する必要があります。より良い方法があれば、私に教えてください!
変数がどのように設定されているかを確認するために変数をエコーアウトしてみてください。 – aynber
私が理解しているように、 '$ pastmembers'に' $ pastMembers'を渡し、 '$ pastmembers - $ TotalMembers'をやろうとします。ここで '$ TotalMembers'と' $ pastmembers'は同じです。それはなぜ0を示しているのですか。グローバル変数のために、より簡単な方法でセッションを使用できます。 – Vivek
グローバル変数が期待通りに機能する場合、サイトのすべての訪問者は同じグローバル変数を共有します。確かにあなたが望むものではありません。 – deceze