我试图了解return
关键字及其功能,但是,我感到有些困惑。
我读过this,这是一个很好的起点,但是我似乎无法理解我认为是一个非常简单的问题的解决方案。
说我有一个名为 index.php 的PHP文件,我像这样调用它的函数(想象它不是从类或函数中调用的);
echo $fun -> editAnswer ($obj->answer_id, $obj->answerString ,$obj->correct, $questionID, $lecturer_id);
然后在我的 function.php 中,我拥有:
public function editAnswer($answer_id, $answerString, $correct, $questionID, $lecturer_id){
$db = $this -> db;
if (!empty ($answer_id) && !empty ($answerString) && !empty($correct) && !empty($questionID) && !empty ($lecturer_id)){
$result = $db -> editAnswer($answer_id, $answerString, $correct, $questionID, $lecturer_id);
if ($result) {
return "The Updates To Your Answer Have Been Saved!";
} else {
$response["result"] = "failure";
$response["message"] = "The Updates To Your Answer Have Not Been Saved, Please Try Again";
return json_encode($response);
}
} else {
return $this -> getMsgParamNotEmpty();
}
}
如果成功,我将返回字符串The Updates To Your Answer Have Been Saved!
,但这将立即显示在 index.php 屏幕上。
我的想法是,如果调用该函数后,用户仍在 index.php 上,则在页面顶部放置一个字符串可能看起来有点难看。也许我想捕获返回的字符串,然后在显示它之前创建一个警报对话框。
我该怎么做,而不是立即回显返回的字符串?
答案 0 :(得分:1)
因为使用echo
输出结果,所以回显了返回值。
将结果保存到变量中,以便以后使用
$result = $fun -> editAnswer ($obj->answer_id, $obj->answerString ,$obj->correct, $questionID, $lecturer_id);
echo "we called the function"
echo "the result was $result"