返回字符串,但不回显屏幕

时间:2018-08-01 21:01:28

标签: php return

我试图了解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 上,则在页面顶部放置一个字符串可能看起来有点难看。也许我想捕获返回的字符串,然后在显示它之前创建一个警报对话框。

我该怎么做,而不是立即回显返回的字符串?

1 个答案:

答案 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"