Задать вопрос

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽