【发布时间】:2016-08-05 16:34:38
【问题描述】:
当我需要返回多个值作为我的函数的结果时(例如,假设一个布尔值说明特定操作是否成功,以及说明错误或成功消息的消息),我应该在一个数组,还是通过使函数参数成为引用并更改其值?
function myFunction($input){
...
return array("success" => true/false, "message" => "Internal Error"/"Success");
}
或者
function myFunction($input, &$success, &$message){
...
$success = true;
$message = "It worked";
}
什么是最佳实践?我已经在各种代码库中看到过这两种语言,甚至是其他语言。
【问题讨论】:
-
为什么有人应该使用他们的 Flash 消息变量作为参考?我对此感到不舒服,所以我忽略了它。
-
我认为操作成功时不需要任何消息,因此您可以在成功时返回 true,在失败时返回错误消息。
-
@revo 使用消息只是一个例子。 (嗯,这就是我最初提出问题的方式,但我也对其他类型的返回值的答案感兴趣)
-
@CharlotteDunois 我真的不喜欢根据发生的情况返回不同类型的返回值。感觉真的不对。如果函数返回一个数组,它应该总是返回一个数组。如果它返回一个整数,它应该总是返回一个整数。等等。另外,正如我之前的评论中所述,消息只是一个例子:)
-
@CharlotteDunois 另外,就我而言,有多个成功的“案例”都带有特定的信息。 (但同样,我也对其他类型的返回值的通用答案感兴趣)
标签: php arrays parameters reference return