如果可以的話,我會進一步詳細說明,但是我遇到的主要問題是我無法訪問函數以外的變量。我已經嘗試了以下兩種方法。訪問一個函數以外的變量
這裏是我的源:
function register($rand, $code) {
global $rand, $access_token;
if ($code == $access_token)
$rand = rand('100000','1000000');
}
echo $rand;
如果可以的話,我會進一步詳細說明,但是我遇到的主要問題是我無法訪問函數以外的變量。我已經嘗試了以下兩種方法。訪問一個函數以外的變量
這裏是我的源:
function register($rand, $code) {
global $rand, $access_token;
if ($code == $access_token)
$rand = rand('100000','1000000');
}
echo $rand;
function register($rand, $code) {
if ($code == $access_token)
$rand = rand('100000','1000000');
}
然後調用函數第一
register('1','2');
echo $rand;
對不起,但是當調用register(1,2)時,這些數字代表什麼?我不能只把寄存器($ rand) – 2013-03-25 06:13:25
從第一個代碼塊中刪除'echo $ rand;'; – 2013-03-25 06:13:25
意味着你從你的函數中傳遞$ rand和$ code參數的值.. – 2013-03-25 06:14:38
我想它應該運行正常,如果您在訪問$rand
變量之前調用函數。
function register($rand, $code) {
global $rand, $access_token;
if ($code == $access_token) {
$rand = rand('100000','1000000');
}
echo "\nInside Function = ".$rand;
echo $access_token;
}
register(100, '');
echo "\nOutside Function = ".$rand;
可能是幫助你
function register($rand, $code) {
global $rand, $access_token;
if ($code == $access_token) {
$rand = rand('100000','1000000');
}
return $rand;
}
回聲寄存器($蘭特,$代碼);
您必須在設置$ rand之前調用該函數。調用register()之前函數中的全局$ rand不會設置任何值。
<?php
function register($rand, $code) {
global $rand, $access_token;
if ($code == $access_token)
$rand = rand('100000','1000000');
}
register('x', 'y');
echo $rand;
?>
如果PHP在調用函數之前設置所有全局值,那麼請考慮以下內容。 $ rand將被設置爲什麼?只有在調用其中一個函數時纔有意義。
<?php
function a() {
global $rand = 1;
}
function b() {
global $rand = 2;
}
我看不到任何你稱之爲函數的地方? – 2013-03-25 06:09:41
如果您調用該函數,應該可以正常工作。 http://phpfiddle.org/main/code/gz9-x72 – 2013-03-25 06:09:59
使用全球我不應該太.. – 2013-03-25 06:10:11