请告诉我 php - 功能 - return

Tell me please with php - function - return

我为自己编写了一个检查字符数的函数 - 我不知道如何正确使用它

这些选项是否正确?

function checkStrlen($check,$min,$max) {
 return strlen($check) < $min || strlen($check) > $max ? true : false;
 }

或更好地包裹在 ()

function checkStrlen($check,$min,$max) {
 return (strlen($check) < $min || strlen($check) > $max) ? true : false;
 }

这里我不喜欢这个选项 - 使用 (if)

 function checkStrlen($check,$min,$max) {
    if (strlen($check) < $min || strlen($check) > $max) { return false; }
    return true;
 }

该死的完全糊涂了 - 所有选项都有效,但我想知道如何正确执行。

我是这样用的

 if(checkStrlen($login, 3, 30)) {
 echo '<div class="error">Login must consist of at least 3 characters and no 
 more than 30!</div>';
  }

我不明白(如何在'return'中使用'strlen')

return ?真假; return () ?真:假;

关于 'mb_strlen' 我知道 - 我只是举个例子

顺便说一句,很抱歉我是俄罗斯人 - 使用 google 翻译!

谢谢大家 - 最好的选择是: return strlen (lalala) <3 || strlen (lalala)> 30;

这似乎是最好的方法。 快乐编码

function checkStrlen($check,$min,$max) {
 return (strlen($check) < $min || strlen($check) > $max) ? true : false;
 }

你应该使用包裹在 () 中的那个,因为它使代码易于阅读和理解。将来如果您需要查看此代码,您将不会对这些行的用途感到困惑。

function checkStrlen($check,$min,$max) {
 return (strlen($check) < $min || strlen($check) > $max) ? 
true : false;
 }

只需省略 ?: 运算符。

function checkStrlen($check, $min, $max) {
    return strlen($check) < $min || strlen($check) > $max;
}

转换为布尔值

您有时可以使用转换为布尔值。这是 而不是 当您需要它时的情况,因为 || 运算符总是 returns 布尔值。

!! 符号

如果你想在 PHP 或 JavaScript 中将某些东西转换为布尔值(它们为此使用相同的语法),你可以使用前缀伪运算符 !!。它不是真正的运算符,但它否定了否定值。 (从 true 生成 true,从 false 生成 false。)

// PHP
$foo = 1;
$bar = !!$foo;
/* $bar is TRUE */

// JS
var foo = 1;
var bar = !!foo;
/* bar is true */

选角

在 PHP 中,转换更常用于将任何内容转换为布尔值。参见 PHP documentation

// PHP
$foo = 1;
$bar = (bool)$foo;
/* $bar is TRUE */