【问题标题】:if condition how to return value from function phpif条件如何从函数php返回值
【发布时间】:2020-01-23 00:34:34
【问题描述】:

我正在尝试处理来自另一个函数的错误消息 我从 curl 传递响应 url 然后在处理值中,但我无法回显或返回值

这是处理错误函数

function gettaskIderrorhandler($s)
{
    if (strpos($s, "ERROR_WRONG_USER_KEY")) {
        return "ERROR WRONG USER KEY";
    }
    if (strpos($s, "ERROR_KEY_DOES_NOT_EXIST")) {
        return "ERROR KEY DOES NOT EXIST";
    }
    if (strpos($s, "ERROR_ZERO_BALANCE")) {
        return "ERROR ZERO BALANCE";
    }
    if (strpos($s, "ERROR_PAGEURL")) {
        return "ERROR PAGEURL";
    }
    if (strpos($s, "ERROR_NO_SLOT_AVAILABLE")) {
        return "ERROR NO SLOT AVAILABLE";
    }
    if (strpos($s, "ERROR_ZERO_CAPTCHA_FILESIZE")) {
        return "ERROR ZERO CAPTCHA FILESIZE";
    }
    if (strpos($s, "ERROR_TOO_BIG_CAPTCHA_FILESIZE")) {
        return "ERROR TOO BIG CAPTCHA FILESIZE";
    }
    if (strpos($s, "ERROR_WRONG_FILE_EXTENSION")) {
        return "ERROR WRONG FILE EXTENSION";
    }
    if (strpos($s, "ERROR_IMAGE_TYPE_NOT_SUPPORTED")) {
        return "ERROR IMAGE TYPE NOT SUPPORTED";
    }
    if (strpos($s, "ERROR_UPLOAD")) {
        return "ERROR UPLOAD";
    }
    if (strpos($s, "ERROR_IP_NOT_ALLOWED")) {
        return "ERROR IP NOT ALLOWED";
    }
    if (strpos($s, "IP_BANNED")) {
        return "IP BANNED";
    }
    if (strpos($s, "ERROR_BAD_TOKEN_OR_PAGEURL")) {
        return "ERROR BAD TOKEN OR PAGEURL";
    }
    if (strpos($s, "ERROR_GOOGLEKEY")) {
        return "ERROR GOOGLEKEY";
    }
    if (strpos($s, "ERROR_CAPTCHAIMAGE_BLOCKED")) {
        return "ERROR CAPTCHAIMAGE BLOCKED";
    }
    if (strpos($s, "MAX_USER_TURN")) {
        return "MAX USER TURN";
    }
    if (strpos($s, "ERROR: NNNN")) {
        return "ERROR: NNNN";
    }
    if (strpos($s, "ERROR_BAD_PARAMETERS")) {
        return "ERROR BAD PARAMETERS";
    }
}

这是我调用 curl 时的函数

function gettaskId()
{     
      $s = "ERROR_WRONG_USER_KEY";

   echo $cherror = gettaskIderrorhandler($s);

}

如何从函数中获取返回值

【问题讨论】:

  • 请问您是否回显gettaskIderrorhandler($s),如果是。尝试“echo gettaskIderrorhandler($s;”,,,,, 但如果您尝试返回值尝试“return gettaskIderrorhandler($s);”...

标签: php function curl


【解决方案1】:

你需要改变所有的行

if (strpos($s, "ERROR_WRONG_USER_KEY")) {

if (strpos($s, "ERROR_WRONG_USER_KEY") !== false) {

strpos()返回索引,如果匹配在开头可以是00是假的,所以if在这些情况下不会成功。

【讨论】:

  • 感谢它的工作,并且使用 inStr() 它可以在没有额外条件的情况下工作
【解决方案2】:

除非您只想匹配那些特定的错误,否则如果您可以使用模式来匹配任何错误,它将减少代码的重复性。

function gettaskIderrorhandler($s)
{
    if (preg_match('/ERROR_[A-Z_]+/', $s, $matches)) {
        return str_replace('_', ' ', $matches[0]);
    }
}

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 2020-11-12
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多