Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从函数返回两个函数_Php - Fatal编程技术网

Php 从函数返回两个函数

Php 从函数返回两个函数,php,Php,我从我的对象调用一个搜索函数,作为回报,我想发送结果和一些消息,这样我可以返回两个变量,一个是数组,另一个是消息,比如$data和$message $this->query=("select * from user where pno='".$search."'"); $rd = $this->executeQuery(); return @$data = $rd->fetch_assoc(); return $message; 当它回到 $result=$user->

我从我的对象调用一个搜索函数,作为回报,我想发送结果和一些消息,这样我可以返回两个变量,一个是数组,另一个是消息,比如$data和$message

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

return $message;
当它回到

$result=$user->search($result);
我怎样才能从中得到结果呢
谢谢

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

因此,您的函数可以返回以下内容,例如:

返回数组($data,$message)

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


list($data,$message)=搜索('hello')

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

因此,您的函数可以返回以下内容,例如:

返回数组($data,$message)

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


list($data,$message)=搜索('hello')

虽然@moe的答案完全正确,但您可能不希望为了错误处理而这样做

为什么?

因为接下来您将发现您必须从*every*函数返回一个两元素数组,其中一个元素中包含实际数据,另一个元素中可能存在错误,然后您将需要每次检查错误,即使您对此无能为力

那会很快变得单调乏味


你在处理错误,所以要像对待错误一样对待它们发生错误时。如果调用代码可以优雅地从错误中恢复,那么它可以查找并期望处理异常。如果调用代码无法从错误中恢复,那么异常将沿着链爬升,直到命中为止,您可以将其配置为优雅而微妙地处理告诉用户有东西坏了的责任。

虽然@moe的答案完全正确,但您可能不想在错误处理中这样做

为什么?

因为接下来您将发现您必须从*every*函数返回一个两元素数组,其中一个元素中包含实际数据,另一个元素中可能存在错误,然后您将需要每次检查错误,即使您对此无能为力

那会很快变得单调乏味


你在处理错误,所以要像对待错误一样对待它们发生错误时。如果调用代码可以优雅地从错误中恢复,那么它可以查找并期望处理异常。如果调用代码无法从错误中恢复,那么异常将沿着链爬升,直到命中为止,您可以将其配置为优雅而精细地处理告诉用户有东西坏了的责任。

什么是
$message
,它来自何方?它可能包含什么?你能用你的代码向我们展示更多的上下文吗?解决此问题的最佳方法将根据您的答案而有所不同。$message有点像这样}else{$error=“”;$i=1;foreach($validate->getError()as$err){$error.=“$i)”.$err.“
”;$i++}foreach($errors.$errs.“
”;$i++}return$error;这就是我所想的,谢谢。什么是
$message
,它从哪里来?它可能包含什么?你能给我们展示你的代码的更多上下文吗?解决这个问题的最佳方法会根据你的答案而大不相同。$message有点像这样}else{$error=“;$I=1;foreach($validate->getError())as$err){$error.=“$i”.$err.““
”;$i++}foreach($errors){$error.=“$i”.$errs.““
”;$i++;}返回$error;这就是我的想法,谢谢。
list($data,$message)=搜索('hello');
作为替代。我几乎立即编辑了我的解决方案,并将其更改为您现有的解决方案。它应该是alreadyor
列表($data,$message)=搜索('hello')
作为替代。我几乎立即编辑了我的解决方案,并将其更改为您拥有的解决方案。应该是,当我编写我的解决方案时,我没有阅读您试图处理错误的部分。我的解决方案是返回多个变量。错误处理是另一回事:-)是,当我编写我的解决方案时,我没有阅读part您正在尝试处理错误。我的解决方案是返回多个变量。错误处理是另一回事:-)