Winged-Horse
Новичок
Здравствуйте. Нуждаюсь в вашей помощи.
В моём скрипе производится GET запрос.
Данный запрос через API получает Array массив.
Мне нужно отсортировать вывод вначале чтобы отображались записи похожие на GET запрос, а потом все остальные по алфавиту запросы.
В данном примере GET запрос: "k20tt"
API сервер мне отвечает:
Далее я сортирую его таким образом:
Результат сортировки получается следующим:
Мне нужно чтобы вывод был следующим образом:
В моём скрипе производится GET запрос.
Данный запрос через API получает Array массив.
Мне нужно отсортировать вывод вначале чтобы отображались записи похожие на GET запрос, а потом все остальные по алфавиту запросы.
В данном примере GET запрос: "k20tt"
API сервер мне отвечает:
PHP:
Array (
[0] => stdClass Object ( [id] => 3563 [article_code] => PK20R11)
[1] => stdClass Object ( [id] => 3564 [article_code] => PK20R13)
[2] => stdClass Object ( [id] => 3567 [article_code] => PK20TR11)
[3] => stdClass Object ( [id] => 3593 [article_code] => K20TR11)
[4] => stdClass Object ( [id] => 3912 [article_code] => PK20PR11)
[5] => stdClass Object ( [id] => 5716 [article_code] => K20TNR )
[6] => stdClass Object ( [id] => 11997 [article_code] => K20TXR )
[7] => stdClass Object ( [id] => 19595 [article_code] => K20TT )
[8] => stdClass Object ( [id] => 116450 [article_code] => K20BRS10 )
[9] => stdClass Object ( [id] => 117132 [article_code] => K20TT#4 )
[10] => stdClass Object ( [id] => 122114 [article_code] => IK20TT#4 )
[11] => stdClass Object ( [id] => 122133 [article_code] => IK20TT )
)
PHP:
function cmp($a, $b) {
$search_code_txt = $_GET['search'];
$a = preg_replace ('/[a-z]*(?:'.$search_code_txt.')[a-z]*/si','', $a->article_code);
$b = preg_replace ('/[a-z]*(?:'.$search_code_txt.')[a-z]*/si','', $b->article_code);
return strcasecmp($a, $b);
}
usort($objsearch, "cmp");
Дальше я подключаюсь к базе MySQL и в таблице ищу запись со значением K20TT, K20TXR и т.д. и вывожу количество на остатке. В результате у меня те свечки что в наличии разбросаны по всему списку и выглядит это так:K20TT
IK20TT
K20TT#4
IK20TT#4
K20BRS10
K20TNR
K20TR11
K20TXR
PK20PR11
PK20R11
PK20R13
PK20TR11
А мне необходимо поднять те позиции что есть в наличии в верх списка. Как мне это сделать?K20TT - под заказ
IK20TT - остаток 4 шт
K20TT#4 - под заказ
IK20TT#4- под заказ
K20BRS10- под заказ
K20TNR- под заказ
K20TR11- остаток 4 шт
K20TXR- остаток 4 шт
PK20PR11- под заказ
PK20R11- под заказ
PK20R13- остаток 4 шт
PK20TR11- под заказ
Мне нужно чтобы вывод был следующим образом:
IK20TT - остаток 4 шт
K20TR11- остаток 4 шт
K20TXR- остаток 4 шт
PK20R13- остаток 4 шт
K20TT - под заказ
K20TT#4 - под заказ
IK20TT#4- под заказ
K20BRS10- под заказ
K20TNR- под заказ
PK20PR11- под заказ
PK20R11- под заказ
PK20TR11- под заказ