我有下面的PHP代码,它存储在我正在使用的index.php文件中的一个单独的PHP文件中。
当不包含在函数中时,index.php文件中包含的页面()很好。
$_3_dart_score = $_POST["user-input"];
$remaining_score = 501 - $_POST["user-input"];
然而,当它包含在一个函数中时,它似乎不起作用。
<?php
function throw()
{
$_3_dart_score = $_POST["user-input"];
$remaining_score = 501 - $_POST["user-input"];
global $_3_dart_score
global $remaining_score
throw();
}
?>
我尝试过各种各样的方法,甚至从index.php页面调用函数,但是似乎没有什么效果。
发布于 2015-03-20 00:11:34
您需要从函数之外调用throw()
,而不是在函数内部调用。您还应该考虑将变量作为参数传递,而不是依赖于全局变量。
发布于 2015-03-20 00:11:45
function throw($input) {
$_3_dart_score = $input;
$remaining_score = 501 - $input;
return array($_3_dart_score, $remaining_score);
}
list($_3_dart_score, $remaining_score) = throw($_POST["user-input"]);
global
的废话。那是糟糕的形式。相反,返回这些值。我使用一个数组,这样我就可以同时返回两个数组。(它们实际上应该在不同的功能中单独完成,但您还没有完全完成)。$_POST["user-input"]
作为参数传递给throw()
,因为您的函数不应该与其他代码紧密关联。这样,这个值可以来自任何地方,并且这个函数仍然可以工作。list()
将数组中的这些值放入一行中自己的标量变量中。https://stackoverflow.com/questions/29157219
复制相似问题