如何使函数内部的变量在外部可用


How to make a variable inside a function be available outside?

我似乎无法从函数中获得$sql_result_array上的数组。

function function_name($query, $table_name){
    global $connection;
$sql_query = " SELECT * FROM {$table_name} WHERE name = '{$query}' ";
$sql_result = mysql_query($sql_query, $connection);
$sql_result_array = mysql_fetch_array($sql_result);
}
function_name($value1, $value2);
print_r($sql_result_array); // (outputs) Undefined variable: sql_result_array

关于如何获得该数组可用的函数外的任何建议?

你可以做

print_r(function_name($value1, $value2));

$sql_result_array = function_name($value1, $value2)
print_r($sql_result_array);

这里的一般思想是,你在函数内部声明的任何变量只在该函数内部可用。所以如果你有

function a() {
    $i = 5;
    return $i;
}

在该函数之外,$i不存在。或者如果它确实存在,将$i设置为5在该函数内,不会改变该函数外的$i的值。这很好,因为否则,您将不得不在任何地方使用唯一的变量名,否则您永远不会知道某个值是否在其他地方被更改了。

我们return $i所以我们想在函数外使用这个值,我们可以。但我们要么赋值给它

$other_variable = a();

或者直接使用

do_something_else(a())