ホームページ >バックエンド開発 >PHPチュートリアル >グローバルグローバルに関する質問

グローバルグローバルに関する質問

WBOY
WBOYオリジナル
2016-06-13 13:28:37812ブラウズ

グローバルグローバルの問題について
a.php ページにアクセスすると、b.php 内のメソッドを呼び出します。このメソッドは収集を実行するため、完了するまでに時間がかかります。ページ a にはグローバル変数 $c="" があります。ページ b には $c を一度割り当ててから、他のメソッドに $c を使用します。


ページ a に再度アクセスしたときに $c の値が初期値に変わった場合、ページ b の $c に影響しますか? ?
(ページ a は b のメソッドを一度だけ実行します。b のメソッドが実行されると、a は再度ページ b のメソッドをトリガーします)


私は a を書きました小さなデモ テストです。表現が正確かどうかはわかりません。誰かがガイダンスを与えるか、明確にしてくれることを願っています。

PHP コード

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->//写进日志
function write_logs($str='') {
global $num;
if($num>1){
    $num="ok";
}
    $fliepath_dir="test.txt";
    $str=$str."-".$num."\r\n";
    if($fp = @fopen($fliepath_dir, 'a')) {
        @flock($fp, 2);
        fwrite($fp, $str);
        fclose($fp);
        return true;
    }else{
        return false;
    }
}
$num=0;
$act=$_GET["act"];
if($act=="b"){
$num="2";
for ($index = 1; $index < 10; $index++) {
write_logs($index);
sleep(3);
}
}else{
    $num=0;
    echo "no".$num;
}
上記のファイルにアクセスし、 pass act=b を実行して $num=2;
を書き込み、パラメータを渡さずに $num=0 を設定し、ログで $num が 1 より大きいかどうかを判断します。課題が成功するかどうかです
このように書くとうまくいくはずです 上で述べた状況をテストしてください。



-----解決策---------

はい、確認しました
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。