我试图创建一个返回某个用户的id号的函数,但是当我调用该函数时,我无法访问我在函数中声明的变量。 / p>
function loadlink($users){
global $database, $rowz, $results;
$results = $database->query("SELECT * FROM users WHERE username = '{$users}'");
$rowz = $results->fetch_all(MYSQLI_ASSOC);
var_dump( $rowz); //returns basic array info
}
var_dump( $rowz); //returns "NULL"
loadlink('RandomUser');
var_dump($ rowz);如果我先调用loadlink(),则返回数组信息,但问题是我想在调用loadlink()访问返回的关联数组的属性时使用$ rowz变量,但它不会返回任何内容。
答案 0 :(得分:1)
你应该从你的函数返回你需要它返回的东西,而不是使用全局变量。
但是,可以使用$GLOBALS
数组,尽管您需要先调用函数,然后才能访问您在其中设置的变量:
function loadlink($users){
global $database;
$GLOBALS['results'] = $database->query("SELECT * FROM users WHERE username = '{$users}'");
$GLOBALS['rowz'] = $results->fetch_all(MYSQLI_ASSOC);
}
// run function first to initialize the necessary variables
loadlink('RandomUser');
var_dump($rowz); //returns basic array info