Ge0SuB
Guest
Сравните два алгоритма, какой лучше.
Привет, есть задача, распарсить конфиг файл.
Есть две функции которые делают то-же самое, возвращают масив строк определенной секции из файла, возник спор, какая функция лучше, красивее, быстрее. итд..
Вот вункции :
Вариант 1
Вариант 2
Очень интересно услышать Ваше мнение. Спасибо.
Привет, есть задача, распарсить конфиг файл.
Есть две функции которые делают то-же самое, возвращают масив строк определенной секции из файла, возник спор, какая функция лучше, красивее, быстрее. итд..
Вот вункции :
Вариант 1
PHP:
private function GetConfigPart ( $PartName )
{
for ( $a = 0; $a < sizeof ( $this->ConfigArray ); $a++ )
{
if ( strpos ( $this->ConfigArray[$a], $PartName ) )
$StartPathSection = 1;
if ( strlen ( $this->ConfigArray[$a] ) < 10 and $StartPathSection == 1 )
$StopPathSection = 1;
if ( $StartPathSection == 1 and $StopPathSection != 1 )
{
if ( $SavePart == 1 )
$PartOfConfig[] = $this->ClearConfigString ( $this->ConfigArray[$a] );
$SavePart = 1;
}
}
return $PartOfConfig;
}
PHP:
private function getSectionStartPos ( $PartName )
{
for ( $a=0; $a < sizeof ( $this->ConfigArray ); $a++ )
if ( strpos ( $this->ConfigArray[$a], $PartName ) )
break;
return $a;
}
private function getSectionEndPos ( $startPos )
{
for ( $a = $startPos+1; $a < sizeof ( $this->ConfigArray ); $a++ )
if ( strlen ( $this->ConfigArray[$a] ) < 10 )
break;
return $a;
}
private function GetConfigPart ( $PartName )
{
$startPos = $this -> getSectionStartPos ( $PartName );
$endPos = $this -> getSectionEndPos ( $startPos );
for ( $i = $startPos+1; $i < $endPos; $i ++ )
$PartOfConfig[] = $this->ClearConfigString ( $this->ConfigArray[$i] );
return $PartOfConfig;
}
