从函数返回两个函数

时间:2011-03-21 22:17:32

标签: php

我从我的对象调用一个搜索函数,作为回报,我想发送结果加上一些消息,所以我可以返回两个带数组的变量,一个带有$ data和$ message的消息

$this->query=("select * from user where pno='".$search."'");
$rd = $this->executeQuery();
return @$data = $rd->fetch_assoc();

return $message;

当它回到

$result=$user->search($result);

我如何从中获取结果 感谢

2 个答案:

答案 0 :(得分:2)

将变量放入数组并返回数组。

所以你的函数可以返回这个例子:

return array($data, $message);

然后你可以这样调用你的函数:

list($data, $message) = search('hello');

答案 1 :(得分:1)

虽然@ moe的答案是完全正确的,但您可能不希望这样做以进行错误处理。

为什么?

因为接下来你会发现自己必须从 *每个* 返回一个双元素数组 function 包含一个元素中的实际数据和另一个元素中的可能错误,然后您需要每次都检查错误,即使您无法对其进行任何操作。

这会非常乏味真的快。

您正在处理错误,因此请将其视为错误!发生错误时throw an exception。如果调用代码可以从错误中优雅地恢复,它可以查找并期望处理异常。如果调用代码无法从错误中恢复,那么异常将爬上链,直到它到达a default exception handler,您可以配置为优雅而精细地处理告诉用户说有什么东西坏了。