Can';不要让静态函数在php中工作

Can';不要让静态函数在php中工作,php,Php,因此,我不想创建此函数: public static function formclean($string) { htmlentities(strip_tags(trim($string))); return $string; } 其中字符串为MySQL数据库条目做好准备。但是,当我调用我的函数时,我: $class->string = Class::formclean($_POST['string']); 它不会返回准备好的字符串。当我写下一段代码时,它确实起作用了

因此,我不想创建此函数:

public static function formclean($string) {
    htmlentities(strip_tags(trim($string)));
    return $string;
}
其中字符串为MySQL数据库条目做好准备。但是,当我调用我的函数时,我:

$class->string = Class::formclean($_POST['string']);
它不会返回准备好的字符串。当我写下一段代码时,它确实起作用了

$class->string = htmlentities(strip_tags(trim($_POST['string'])));

我做错了什么?

您忘记将
htmlentities()的返回值捕获到变量中:

public static function formclean($string) {
    $string = htmlentities(strip_tags(trim($string)));
    return $string;
}
或者,简而言之,直接返回该输出:

public static function formclean($string) {
    return htmlentities(strip_tags(trim($string)));
}

您忘记将
htmlentities()
的返回值捕获到变量中:

public static function formclean($string) {
    $string = htmlentities(strip_tags(trim($string)));
    return $string;
}
或者,简而言之,直接返回该输出:

public static function formclean($string) {
    return htmlentities(strip_tags(trim($string)));
}
  • 您的问题与
    static
    关键字无关

  • 您假设,
    $string
    由修改,但该函数不通过引用接收参数:它无法修改原始值

    字符串(字符串$string[,int$flags=ENT_COMPAT | ENT_HTML401[,字符串$encoding='UTF-8'[,bool$double_encode=true]])
  • 通过引用接收参数的函数将具有符号,例如:

    bool排序(数组和$array[,int$sort\u flags=sort\u REGULAR])

  • strip_tags()
    与数据库或验证无关。这只是破坏用户数据的一种方式。关键是使用数据库库功能注入参数(即准备好的语句)

  • 您的问题与
    static
    关键字无关

  • 您假设,
    $string
    由修改,但该函数不通过引用接收参数:它无法修改原始值

    字符串(字符串$string[,int$flags=ENT_COMPAT | ENT_HTML401[,字符串$encoding='UTF-8'[,bool$double_encode=true]])

    通过引用接收参数的函数将具有符号,例如:

    bool排序(数组和$array[,int$sort\u flags=sort\u REGULAR])

  • strip\u标记()
    与数据库或验证无关。这只是破坏用户数据的一种方式。关键是使用数据库库功能注入参数(即准备好的语句)


  • 您正在该函数内进行操作,但返回的是未经处理的版本您正在该函数内进行操作,但返回的是未经处理的版本请参见。我会接受你的建议。谢谢回复!不客气。我厌倦了在编程网站上发表评论,只是为了发现我的代码在我看到的第一个
    之后就消失了。我会接受你的建议。谢谢回复!不客气。我厌倦了在编程网站上发表评论,只是为了发现我的代码在第一个