PHP中用户从函数返回的PHP
是否可以(以某种格式)返回包含PHP函数信息的变量 例如 所以在它被命名的页面上PHP中用户从函数返回的PHP,php,function,variables,Php,Function,Variables,是否可以(以某种格式)返回包含PHP函数信息的变量 例如 所以在它被命名的页面上 <?php echo $error;?> 行得通 编辑: 不能简单地回显函数,因为同样的函数也可以设置为 return$success='恭喜'并在第页上用调用,您只需设置函数即可吐出所需的变量,而无需使用“变量”。 或者,您可以使用全局变量并在函数外部调用$error: $error = ""; function setuplogin($email,$pwd){ global $err
<?php echo $error;?>
行得通
编辑:
不能简单地回显函数,因为同样的函数也可以设置为
return$success='恭喜'
并在第页上用
调用,您只需设置函数即可吐出所需的变量,而无需使用“变量”。
或者,您可以使用全局变量并在函数外部调用$error:
$error = "";
function setuplogin($email,$pwd){
global $error;
if(!$email || !$pwd){ $error = 'not possible'; }
}
<?php echo $error; ?>
$error=”“;
功能设置登录($email,$pwd){
全局$错误;
如果(!$email | |!$pwd){$error='不可能';}
}
当然,第二个函数假定您将在echo之前调用函数。函数只能返回一个值(任何类型)。您对该值所做的操作(例如,根据返回的值将其分配给变量或不同的变量)完全是调用方的工作,函数不能影响这一点 当然,你的函数可以通过赋值给
$GLOBALS['whatever']
来创建一个全局变量,但这是非常难看的如果你从另一个函数调用你的函数,它甚至不能按你想要的方式工作。另一个缺点是,您必须始终为所有变量分配某些内容-否则,根据函数所做的操作,您最终可能会得到未定义的变量,并且需要使用这些变量在代码中进行isset()
检查
因此,你试图做的是不可能在一个干净的方式。最接近的是重新运行数组:
function foo() {
return array('success' => ..., 'error' => ...);
}
return array('success' => true, 'message' => 'well done');
然后调用方可以执行以下操作:例如,
$result=foo()
然后使用$result['success']
和$result['error']
听起来您想要的是能够返回多个内容:函数成功还是失败,以及一条消息。您可以通过返回一个数组来执行此操作:
function foo() {
return array('success' => ..., 'error' => ...);
}
return array('success' => true, 'message' => 'well done');
调用方可以执行以下操作:
$result = setuplogin(...);
echo $result['message'];
不,让我更具体一点。使用相同的函数,我可能希望返回$success='well done';在页面上调用全局变量?看在…的份上,不!不要那样做!不管@ThiefMaster://谢谢,我只是想检查一下,这可能正是他想要的。必须询问谁会对一个包含许多人感兴趣的合法且可能再次出现的问题投反对票,并正确编写、命名和标记,以利于学习掌握PHP的人。也许是政治利益?
$result = setuplogin(...);
echo $result['message'];