member.inc.php:
function marrbase(){if(isset($_COOKIE["uname"]) && isset($_COOKIE["uid"])){global $mbase;$mbase_data = mysql_query("select * from dh_member where `id`=" . $_COOKIE["uid"] . " and `mck`=1");if (!$mbase_data){die(mysql_error());exit();}$mbase = mysql_fetch_array($mbase_data);}else{exit();}}
require_once("member.inc.php");function supp(){marrbase();echo $mbase["email"]; exit();}
グローバル $mbase;
marrbase();
関数 supp(); ;
echo $mbase["email"];
}
ありがとう、私はそれを supp() で呼び出しています。他のページに出力する場合は、直接 echo $mbase["email"]; と値を出力できます
関数内にグローバル $mbase があるため
したがって、$mbase はグローバル変数です
marrbase 関数を実行している限り、関数の外から $mbase にアクセスできます
ただしこの書き方はソフトウェア工学における「低結合」の要件に沿ったものではありません
では、形式的にはどのように書くか
パラメータとして渡す
パラメータとして渡す?
function marrbase(){ .... return $mbase;}function supp() { $mbase = marrbase(); echo $mbase["email"];}
or
function marrbase(&$mbase){ .... $mbase = ....;}function supp() { marrbase($mbase); echo $mbase["email"];}
function marrbase(){ .... return $mbase;}function supp() { $mbase = marrbase(); echo $mbase["email"];}
function marrbase(&$mbase){ .... $mbase = ....;}function supp() { marrbase($mbase); echo $mbase["email"];}
ありがとう〜〜勉強になりました ありがとう