Форум программистов, компьютерный форум, киберфорум
Наши страницы
Nazz
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Функция для проверки правельности расставления скобок

Запись от Nazz размещена 01.07.2013 в 18:49

Не плохая функция для проверки правильности открытия и закрытия скобок.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function checkBrackets($sString = null)
{
    //первая проверка на то, что данные были переданы, и строка не пустая
    //в этом варианте возвращаем true, так как проблем с дужками нету :)
    if(is_null($sString) || $sString == '')
        return true;
    
    //инициализируем скобки которые будем проверять 
    $aSkobki = array('(', ')', '[', ']');
    
    //получаем длину строки для её обхода.
    //а так же чтобы не проверять прямо в цикле. Дольше будет выполняться.
    $iLength = strlen($sString);
    //инициализируем переменную для строки скобок
    $sSkobki = '';
    for($i = 0; $i < $iLength; $i++)
    {
        if(in_array($sString[$i], $aSkobki))
            $sSkobki .= $sString[$i];
    }
    //чистим память
    unset($sString);
    //получаем длину строки чтобы обойти её всю и очистить.
    //такой вариант не очень хорош, но по условии нужна была одна функция.
    //если бы можно несколько функций, то создал бы рекурсивную функцию для чистки строки
    $iLength = strlen($sSkobki);
    //чистим строку
    for($i = 0; $i < $iLength; $i++)
        $sSkobki = str_replace(array('[]', '()'), array('', ''), $sSkobki);
 
    //возвращаем результат
    if(strlen($sSkobki) == 0)
        return true;
    else
        return false;
}
Размещено в Без категории
Просмотров 761 Комментарии 2
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Вот это:
    PHP
    1
    2
    3
    4
    5
    
        //возвращаем результат
        if(strlen($sSkobki) == 0)
            return true;
        else
            return false;
    Можно записать так:
    PHP
    1
    
    return strlen($sSkobki) == 0;
    Запись от Para bellum размещена 29.06.2015 в 08:02 Para bellum вне форума
  2. Старый комментарий
    правИльности
    Запись от Pablito размещена 29.06.2015 в 10:55 Pablito вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru