Сравняване на низове.

gLaVoReZa

Registered
Здравейте,

Искам да проверя дали даден низ е равен на някоя от примерно 50 стойности. Знаете ли някакъв начин да не пиша името на променливата 50 пъти?

Пробвах това, но очаквано не бачка.

PHP:
$var = 'super';

if ($var == ( 'super' || 'hiper' || 'mega' ) ) {
echo('da');
} else {
echo('ne');
}

Иначе в момента съм го написал така:

PHP:
if ( in_array( $string, array( 'normal', 'itallic', 'bold' ) ) ) {
// process data
}

Обаче функцията in_array() е много бавна, а в случая трябва да я извиквам стотици пъти.
 

relax4o

Registered
Какво те е хванала кризата с тази бързина тези дни. По-бързи решение от in_array() едва ли ще намериш. Макар че можеш да си направиш една функция, която да я ползваш с array_walk(), което не обещава по-голямо бързодействие.
 

StormBreaker

Registered
Колкото повече код пишеш, толкова по-бавен ще ти става скрипта. Затова не пиши код... Самия факт, че работиш с php означава, че бързината вече си я отписал, а тия микрооптимизациики с нищо няма да ти помогнат
 

gLaVoReZa

Registered
@StormBreaker, не съм съгласен и с една буква от коментара ти, но няма да влизам в полемика с никого.

Ще помоля да се придържате към темата:

Искам да проверя дали даден низ е равен на някоя от примерно 50 стойности. Знаете ли някакъв начин да не пиша името на променливата 50 пъти?
 

relax4o

Registered
Точно това е, ние се придържаме и ти обясняваме фактите.

Та, повтарям, по-голямо бързодействие от in_array() няма да намериш.

А коментара на @Storm си е много верен! :)
 

Горе