我似乎无法让$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
有关如何在函数外部使用该数组的任何建议吗?
答案 0 :(得分:5)
你可以做
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 INSIDE该功能,则不会更改该功能的$i
OUTSIDE的值。这很好,因为否则,你必须在任何地方使用唯一的变量名,否则你永远不会知道某个值是否在其他地方被改变了。
我们return $i
所以我们想在函数之外使用该值,我们可以。但是我们要么分配它
$other_variable = a();
或直接使用
do_something_else(a())