fork download
  1. <?php
  2.  
  3. $data = ['Быстрый телефон', 'Быстрый кнопочный телефон', 'Это телефон', 'Другое'];
  4.  
  5. $q = 'телефон';
  6.  
  7. usort($data, function($a, $b) use ($q) {
  8. $posA = strpos($a, $q);
  9. $posB = strpos($b, $q);
  10. if ($posB === false) return -1; // для строк, у которых вообще нет искомого слова
  11. return $posA - $posB;
  12. });
  13.  
  14. var_export($data);
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
array (
  0 => 'Это телефон',
  1 => 'Быстрый телефон',
  2 => 'Быстрый кнопочный телефон',
  3 => 'Другое',
)