PHP 存储函数
PHP Storing functions
这两个变量如何在代码中使用?:
$run1 & $run2
有人告诉我他们存储函数结果,
但是 echo 命令不使用它们。
是不是因为代码使用“按引用分配”,所以它们需要在那里?
或者这些的最终目的是什么
function f1(&$array_para)
{
$array_param["a"] = "changed";
}
function f2($array_param)
{
$return_arr = f1($array_param);
return $return_arr;
}
$arr1 = ["a" => "Tadpole"];
$arr2 = ["a" => "Lily"];
$run1 = f1($arr1);
$run2 = f2($arr2);
echo $arr1["a"] . " " . $arr2["a"];
它们不像现在那样被使用,只是被填充了。
如果要查看输出,请在第一个 echo 下添加此内容
print_r($run1);
print_r($run2);
我使用“print_r”因为它将输出整个数组,echo 将打印“Array()”。
如果你想从回显中看到“漂亮的印刷品”,请使用:
echo '<pre>';
print_r($run1);
echo '</pre>';
“pre”将以更易于阅读的方式格式化输出! :)
f1 没有 return 任何东西,缺少 return 语句。
f2 执行 return f1 的结果 none。因为 f1 没有 return 任何东西。
f1 用于通过引用传递值,这意味着更改发生在实际数组 $array_param["a"] 上,而不是函数的 return 上。这将使用所需的值修改原始数组。
如果在 f1
上添加 return
function f1(&$array_para)
{
$array_param["a"] = "changed";
return $array_param;
}
这会修复它,您将有 2 个地方的变量值相同。
例如在 运行 f1:
之后
$arr1 = ["a" => "Tadpole"]; // equals changed
$run1 = f1($arr1); // equals changed
一切都取决于你想如何编码,但它不起作用,因为缺少 return。
编码愉快。
这两个变量如何在代码中使用?:
$run1 & $run2
有人告诉我他们存储函数结果, 但是 echo 命令不使用它们。 是不是因为代码使用“按引用分配”,所以它们需要在那里? 或者这些的最终目的是什么
function f1(&$array_para)
{
$array_param["a"] = "changed";
}
function f2($array_param)
{
$return_arr = f1($array_param);
return $return_arr;
}
$arr1 = ["a" => "Tadpole"];
$arr2 = ["a" => "Lily"];
$run1 = f1($arr1);
$run2 = f2($arr2);
echo $arr1["a"] . " " . $arr2["a"];
它们不像现在那样被使用,只是被填充了。
如果要查看输出,请在第一个 echo 下添加此内容
print_r($run1);
print_r($run2);
我使用“print_r”因为它将输出整个数组,echo 将打印“Array()”。
如果你想从回显中看到“漂亮的印刷品”,请使用:
echo '<pre>';
print_r($run1);
echo '</pre>';
“pre”将以更易于阅读的方式格式化输出! :)
f1 没有 return 任何东西,缺少 return 语句。 f2 执行 return f1 的结果 none。因为 f1 没有 return 任何东西。
f1 用于通过引用传递值,这意味着更改发生在实际数组 $array_param["a"] 上,而不是函数的 return 上。这将使用所需的值修改原始数组。
如果在 f1
上添加 returnfunction f1(&$array_para)
{
$array_param["a"] = "changed";
return $array_param;
}
这会修复它,您将有 2 个地方的变量值相同。 例如在 运行 f1:
之后$arr1 = ["a" => "Tadpole"]; // equals changed
$run1 = f1($arr1); // equals changed
一切都取决于你想如何编码,但它不起作用,因为缺少 return。
编码愉快。