Выбрать ключи массива, значения которых начинается с определенного текста?

Туплю.
Ситуация - есть массив:
$result = array(
          'Краны шаровые прямоходные',
          'Шаровые краны 2х кольцевые',
          'Краны шаровые тупоугловые',
          'Краны мелкозубчатые с изгибом',
          'Краны прямокруглые с изгибами',
        );

Есть строка шаблон:
$index_search = 'Краны шаровые';
Подскажите, как отсортировать массив $result исходя из $index_search . Т.е. в соответствии должно проверяться сначала точное совпадение значение массива с $index_search с учетом того, что значение начинается именно с $index_search, потом частичное, а потом уже все остальное. Т.е после сортировки массив должен принять такой вид:
$result = array(
          'Краны шаровые прямоходные',
          'Краны шаровые тупоугловые',
          'Краны мелкозубчатые с изгибом',
          'Краны прямокруглые с изгибами',
          'Шаровые краны 2х кольцевые',
        );
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 3
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
этим занимаются поисковые движки.
sphinxsearch, elasticsearch
Ответ написан
Комментировать
Но ведь $result приходит из базы данных. Там и сортировать:
"select column from table order by instr(column, 'Краны шаровые')"
Ответ написан
Комментировать
IIISpikerIII
@IIISpikerIII
Если задача должна решиться на стороне php то можете посмотреть similar_text, построив индексы по процентному совпадению поисковой фразы со значением массива. Останется отсортировать массив по индексу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы