php Separate Spaced Words inom en sträng

Ofta finner kodare att de behöver dela en sträng i sina separata ord. Om dessa ord är åtskilda av mellanslag, är kommandotillfällena enkla.

Nyligen när jag hakade ihop en sökningskod, behövde jag bryta ut alla ord från sökfrasen. Det finns flera metoder för att göra detta. Här ger jag en kort sammanfattning av styrkan och hastigheten för varje metod.

Om alla orden är åtskilda av ett enda utrymme kan man använda php explodera kommando. Genom att undvika den reguljära uttrycksmotorn är detta den snabbaste metoden.

$ words = explodera (", $ string);

Nästa snabbaste metoden, preg_split, använder Perl-kompatibel regelbunden expressionssyntax och hanterar flera mellanslag.

$ words = preg_split ('/ \ s + /', $ string);

Det sista alternativet är teoretiskt långsammare än föregående metod. Från och med PHP 5.3.0 den dela kommandot har avlägsnats och bör därför undvikas. Eftersom det också används syntax för regelbundna uttryck hanteras flera utrymmen enkelt.

$ words = split ('\ s +', $ string);