В PHP, который быстрее: preg_split или взрывается? Это может показаться глупым вопросом, но: что быстрее при использовании его для извлечения ключевых слов в поисковом запросе в php: $keyword = preg_split('/[\s]+/', $_GET['search']); или $keyword = explode(' ', $_GET['search']); Ответ 1 Взрыв быстрее, на PHP.net Совет. Если вам не нужна сила регулярных выражений, вы можете выбрать более быстрые (хотя и более простые) альтернативы, такие как explode() или str_split(). Ответ 2 В простом использовании explode(), чем быстрее, см. micro-optimization.com/explode-vs-preg_split (ссылка из Интернета .archive.org) Но preg_split имеет преимущество поддержки вкладок (\t) и пробелов с \s. метасимвол \s используется для поиска символа пробела. Символьный пробел может быть (http://php.net/manual/en/regexp.reference.escape.php): пробельный символ (32 = 0x20) символ табуляции (9 = 0x09) символ возврата каретки (13 = 0x0D) символ новой строки (10 = 0x0A) символ подачи формы (12 = 0x0C) В этом случае вы должны увидеть стоимость и выгоду. Совет, используйте array_filter для "удаления" пустых элементов в массиве: Пример: $keyword = explore(' ', $_GET['search']); //or preg_split print_r($keyword); $keyword = array_filter($arr, 'empty'); print_r($keyword); Примечание: RegExp Perfomance Ответ 3 Общее правило: если вы можете что-то сделать без регулярных выражений, сделайте это без них! если вы хотите разделить строку пробелами, взорваться быстрее.
Ответ 1 Взрыв быстрее, на PHP.net Совет. Если вам не нужна сила регулярных выражений, вы можете выбрать более быстрые (хотя и более простые) альтернативы, такие как explode() или str_split().
Ответ 2 В простом использовании explode(), чем быстрее, см. micro-optimization.com/explode-vs-preg_split (ссылка из Интернета .archive.org) Но preg_split имеет преимущество поддержки вкладок (\t) и пробелов с \s. метасимвол \s используется для поиска символа пробела. Символьный пробел может быть (http://php.net/manual/en/regexp.reference.escape.php): пробельный символ (32 = 0x20) символ табуляции (9 = 0x09) символ возврата каретки (13 = 0x0D) символ новой строки (10 = 0x0A) символ подачи формы (12 = 0x0C) В этом случае вы должны увидеть стоимость и выгоду. Совет, используйте array_filter для "удаления" пустых элементов в массиве: Пример: $keyword = explore(' ', $_GET['search']); //or preg_split print_r($keyword); $keyword = array_filter($arr, 'empty'); print_r($keyword); Примечание: RegExp Perfomance
Ответ 3 Общее правило: если вы можете что-то сделать без регулярных выражений, сделайте это без них! если вы хотите разделить строку пробелами, взорваться быстрее.