Подскажите пожалуйста с php - function - return - PullRequest
0 голосов
/ 17 февраля 2019

Я написал для себя функцию, которая проверяет количество символов - я не могу понять, как правильно ее использовать

Верны ли эти опции?

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) {
    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>';
  }

Я не понимаю (как использовать 'strlen' в 'return')

return?правда: ложь;вернуть () ?true: false;

Про 'mb_strlen' я знаю - я просто привел например

Кстати, извините за ошибки я русский - использовал гугл переводчик!

Спасибо всем - лучший вариант: return strlen (lalala) <3 ||стрлен (лалала)> 30;

Ответы [ 3 ]

0 голосов
/ 17 февраля 2019

Вы должны использовать тот, который заключен в (), потому что это облегчает чтение и понимание кода.В любое время в будущем, если вам понадобится просмотреть этот код, вы не запутаетесь в том, для чего предназначены эти строки.

function checkStrlen($check,$min,$max) {
 return (strlen($check) < $min || strlen($check) > $max) ? 
true : false;
 }
0 голосов
/ 17 февраля 2019

Просто опустите оператор ?:.

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

Преобразование в логическое значение

Иногда можно использовать преобразование в логическое значение.Это не случай, когда вам это нужно, потому что оператор || всегда возвращает логическое значение.

!! нотация

Если вы хотите преобразовать что-то в логическое значение вPHP или JavaScript (оба они используют один и тот же синтаксис для этого), вы можете использовать префикс псевдооператор !!.Это не реальный оператор, но он отрицает отрицательное значение.(Делает true из true и false из false.)

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

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

Casting

Приведения чаще используются для преобразования чего-либо в логическое значение в PHP.См. PHP документацию .

// PHP
$foo = 1;
$bar = (bool)$foo;
/* $bar is TRUE */
0 голосов
/ 17 февраля 2019

Это, кажется, лучший способ.Happy Coding

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