如何在函数内部创建变量?

时间:2014-06-11 22:36:44

标签: php variables

我似乎无法让$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

有关如何在函数外部使用该数组的任何建议吗?

1 个答案:

答案 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())