Любой способ сократить это, если заявление? PHP

СДЕЛАТЬ это

В XAMPP включено расширение intl, но вы должны раскомментировать расширение php_intl.dll в php.ini и перезапустить сервер через панель управления XAMPP. В WAMP расширение по умолчанию «активировано» по умолчанию, но не работает. Чтобы заставить его работать, вы должны пойти в папку php (по умолчанию) C: \ wamp \ bin \ php \ php {version}, скопировать все файлы, которые выглядят как icu * .dll, и вставить их в каталог apache bin C: \ WAMP \ Bin \ Apache \ апача {версия} \ Bin. Затем перезапустите все службы, и все будет в порядке.

, если вы используете XAMPP, выполните следующие действия: 1. выключите XAMPP 2. Модифицированный php.ini находится в c /: xampp / php / php.ini 3. intl extension, но вы должны раскомментировать расширение php_intl.dll в php.ini и перезапустить сервер с помощью панели управления XAMPP.

0
задан htmlJohn 17 February 2019 в 01:42
поделиться

3 ответа

Честно говоря, я думаю, что у вас есть самое элегантное решение для того, что вы пытаетесь сделать.

0
ответ дан Russ J 17 February 2019 в 01:42
поделиться

Вы уже используете оптимизированный код. Но вы можете оптимизировать его немного больше для отображения сообщения об ошибке. Как показано ниже:

$invalidFieldName = '';
$invalidFieldLength = 100;
if (strlen($cname) > 100) {
    $invalidFieldName = 'CNAME';
} elseif (strlen($cowner) > 100) {
    $invalidFieldName = 'COWNER';
} elseif (strlen($cemail) > 200) {
    $invalidFieldName = 'CEMAIL';
    $invalidFieldLength = 200;   
} elseif (strlen($cpassword) > 100) {
    $invalidFieldName = 'CPASSWORD';
}

if ($invalidFieldName != '') {    
    echo $invalidFieldName." should be greater than ".$invalidFieldLength;
}

Я не совсем уверен, поможет ли это вам, но я надеюсь, что это поможет вам.

0
ответ дан Rohit Mittal 17 February 2019 в 01:42
поделиться

Вы можете использовать цикл, чтобы уменьшить количество строк. Вот оптимизированное решение, даже если у вас есть более 10 полей для проверки:

Объявите массив полей и проведите через него цикл

$fields = array("cname" => 100, "cowner" => 100, "cemail" => 200, "cpassword" => 100); // key as field name and value as maximum limit - new values can be added here.

foreach($fields as $field => $length) {
   if(strlen(${$field}) > $length) {
       die("$field field can only contain $length characters"); 
   }
}

Редактировать: Вы также можете сохранить все ошибки в массиве, а затем распечатать все ошибки на своей странице.

$errors = array();
foreach($fields as $field => $length) {
   if(strlen(${$field}) > $length) {
        $errors[] = "$field field can only contain $length characters"; 
   }
}
print_r($errors);
0
ответ дан Satish Saini 17 February 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: