PHP: Сортировка массивов

Я уже писал про массивы. Массивы очень удобны для обработки большого количества информации. Существует большое количество функций для удобной работы с ними. В частности, сегодня речь пойдёт о сортировке. Ничего нового открывать я не буду, просто познакомлю с самыми нужными для ежедневного кодинга.

Сортирование индексированных массивов: sort() and rsort()

Функция sort() сортирует значения в индексированном массиве в возрастающем порядке. Это означает, что A идёт перед Z, 0 -перед 9. Заглавные буквы перед строчными, буквы перед цифрами. Например:

$myArray = array( 1, 2, 'a', 'b', 'A', 'B' );
sort( $myArray );

// Отображает "A B a b 1 2"
foreach ( $myArray as $val ) echo "$val ";

rsort() — это sort() наоборот:

$myArray = array( 1, 2, 'a', 'b', 'A', 'B' );
rsort( $myArray );

// Отображает "2 1 b a B A"
foreach ( $myArray as $val ) echo "$val ";

Все sorting-функции возвращают true при успехе, и false при обломе)

Сортировка ассоциативных массивов: asort() and arsort()

sort() и rsort() очень хороши для индексированных массивов, где не нужно волноваться о связи ключа и значения. Могут получится неожиданности) Например:

$movie = array( "title" => "Rear Window",
                "director" => "Alfred Hitchcock",
                "year" => 1954,
                "minutes" => 112 );

sort( $movie );

// Отобразит "Array ( [0] => Alfred Hitchcock [1] => Rear Window [2] => 112 [3] => 1954 )"
print_r( $movie );

Видно, что произошла путаница, и оригинальная структура «title», «director», «year» and «minutes» поменялась.

Если же вы хотите сортировать ассоциативный массив по первичному ключу, используйте функции asort() и arsort() Эти функции учитывают связь ключей и их значений

За возрастающий порядок сортировки отвечает функция asort():


$movie = array( "title" => "Rear Window",
                "director" => "Alfred Hitchcock",
                "year" => 1954,
                "minutes" => 112 );

asort( $movie );

// Отображает "Array ( [director] => Alfred Hitchcock [title] => Rear Window [minutes] => 112 [year] => 1954 )"
print_r( $movie );

arsort() наоборот:


$movie = array( "title" => "Rear Window",
                "director" => "Alfred Hitchcock",
                "year" => 1954,
                "minutes" => 112 );

arsort( $movie );

// Отображает "Array ( [year] => 1954 [minutes] => 112 [title] => Rear Window [director] => Alfred Hitchcock )"
print_r( $movie );

Сортировка ассоциативных массивов по ключу: ksort() и krsort()

ksort() сортирует по возрастанию значения ключа , krsort() — по убыванию. Как и asort() с arsort(), эта функция сохраняет связь между ключом значением. Пример:

$movie = array( "title" => "Rear Window",
                "director" => "Alfred Hitchcock",
                "year" => 1954,
                "minutes" => 112 );

// Отображает "Array ( [director] => Alfred Hitchcock [minutes] => 112 [title] => Rear Window [year] => 1954 )"
ksort( $movie );
print_r( $movie );

// Отображает "Array ( [year] => 1954 [title] => Rear Window [minutes] => 112 [director] => Alfred Hitchcock )"
krsort( $movie );
print_r( $movie );

Сортировка сложных и многомерных массивов с array_multisort()

Очень мощная функция array_multisort() может сортировать многомерный массив , сохраняя связь между массивами.
Вобщем, сейчас всё увидим:

Сортировка сложных массивов

Сортируем, используя array_multisort(),просто указываем те массивы, которые нужно обратотать:

$directors = array( "Stanley Kubrick", "Alfred Hitchcock", "Martin Scorsese" );
$titles = array( "Full Metal Jacket", "Rear Window", "Mean Streets" );
$years = array( 1987, 1954, 1973 );

array_multisort( $directors, $titles, $years );

print_r( $directors );
echo "<br />";
print_r( $titles );
echo "<br />";
print_r( $years );
echo "<br />";

Этот код отобразит:

Array ( [0] => Alfred Hitchcock [1] => Martin Scorsese [2] => Stanley Kubrick )
Array ( [0] => Rear Window [1] => Mean Streets [2] => Full Metal Jacket )
Array ( [0] => 1954 [1] => 1973 [2] => 1987 )

Сначала array_multisort() сортирует значения в $directors в возрастающем порядке, затем 2 остальных так же .

А что если мы хотим сортировать, например, чтобы вначале «title» ? Просто положите $titles вперёд списка:

array_multisort( $titles, $directors, $years );

Сортировка по… далее…

Если первый массив содержит какое-то количество id-номеров, тогда array_multisort() сортирует
по этим значениям первый массив, затем — второй, и тд. Пример :

$directors = array( "Stanley Kubrick", "Alfred Hitchcock", "Martin Scorsese", "Stanley Kubrick" );
$titles = array( "Full Metal Jacket", "Rear Window", "Mean Streets", "A Clockwork Orange" );
$years = array( 1987, 1954, 1973, 1971 );

array_multisort( $directors, $titles, $years );

print_r( $directors );
echo "<br />";
print_r( $titles );
echo "<br />";
print_r( $years );
echo "<br />";

Этот код выдаёт следующее — заметьте, что «A Clockwork Orange» перед «Full Metal Jacket»:

Array ( [0] => Alfred Hitchcock [1] => Martin Scorsese [2] => Stanley Kubrick [3] => Stanley Kubrick )
Array ( [0] => Rear Window [1] => Mean Streets [2] => A Clockwork Orange [3] => Full Metal Jacket )
Array ( [0] => 1954 [1] => 1973 [2] => 1971 [3] => 1987 )

Меняем порядок сортировки

Вы можете пропустить (опционально) flag-аргумент после аргумента массива чтобы менять порядок сортировки:

SORT_ASC
сортировка по возрастанию
SORT_DESC
сортировка по убыванию

ЕСть и Другие флаги, которые можно использовать в array_multisort() — и другие сортирующие функции , в сущности, для контроля над способами сортировки . Больше о sort() можно посмотреть в мануалах по PHP.

Тут сортируем $directors по возрастанию, затем $titles по убыванию:

$directors = array( "Stanley Kubrick", "Alfred Hitchcock", "Martin Scorsese", "Stanley Kubrick" );
$titles = array( "Full Metal Jacket", "Rear Window", "Mean Streets", "A Clockwork Orange" );
$years = array( 1987, 1954, 1973, 1971 );

array_multisort( $directors, SORT_ASC, $titles, SORT_DESC, $years );

print_r( $directors );
echo "<br />";
print_r( $titles );
echo "<br />";
print_r( $years );
echo "<br />";

Вот что вышло: заметьте, что «Full Metal Jacket» теперь перед «A Clockwork Orange»:


Array ( [0] => Alfred Hitchcock [1] => Martin Scorsese [2] => Stanley Kubrick [3] => Stanley Kubrick )
Array ( [0] => Rear Window [1] => Mean Streets [2] => Full Metal Jacket [3] => A Clockwork Orange )
Array ( [0] => 1954 [1] => 1973 [2] => 1987 [3] => 1971 )

Сортировка многомерных массивов

Сортировка через array_multisort() проходит по первому элементу каждого массива. Если 2 значения одинаковы, сортирвка идёт по 2у элементу и тп.

Это пример , который показывает, как это работает
Сортировка идет по director, потом по title, потом по year:

$movies = array(
  array(
    "director" => "Alfred Hitchcock",
    "title" => "Rear Window",
    "year" => 1954
  ),
  array(
    "director" => "Stanley Kubrick",
    "title" => "Full Metal Jacket",
    "year" => 1987
  ),
  array(
    "director" => "Martin Scorsese",
    "title" => "Mean Streets",
    "year" => 1973
  ),
  array(
    "director" => "Stanley Kubrick",
    "title" => "A Clockwork Orange",
    "year" => 1971
  )
);

array_multisort( $movies );
echo "<pre>";
print_r( $movies );
echo "</pre>";

Результат:


Array
(
[0] => Array
(
[director] => Alfred Hitchcock
[title] => Rear Window
[year] => 1954
)

[1] => Array
(
[director] => Martin Scorsese
[title] => Mean Streets
[year] => 1973
)

[2] => Array
(
[director] => Stanley Kubrick
[title] => A Clockwork Orange
[year] => 1971
)

[3] => Array
(
[director] => Stanley Kubrick
[title] => Full Metal Jacket
[year] => 1987
)

)

Как видите, array_multisort() отсортирвал массив по director. Когда имя режиссёра повторилось, («Stanley Kubrick»), сортировка пошла по title.

Чтобы отсортровать в обратном порядке, укажите SORT_DESC-флаг как второй аргумент array_multisort(). Просто!

Итог

В этом уроке мы посмотрели на простые PHP-функции для сортровки массива:

* sort() и rsort() для сортровки индексируемых массивов
* asort() и arsort() для сортровки асоциативных массивов
* ksort() и krsort() для сортровки ассоциативнх массивов по ключу
* array_multisort() для сортировки для сортировки сложных и многомерных массивов

PHP-сортировка массивов очень мощна и проста, можно сортировать быстро и как угодно). ТОлько тут мы изучили аж 13 функций! Чтобы увидеть больше, смотрите мануалы

оригинал

______________

Наткнулся тут на интересный блог – блог про блоги так сказать) Автор обзоры делает)

BLOGANONS – Каталог блогов, сайтов, интернет ресурсов. Лучшие блоги находятся здесь.

Каталог блогов, сайтов, интернет ресурсов

Подпишись на RSS каталога блога

Читателям также нравится:

Обратите внимание!

Запущена новая версия сообщества для творческих людей — TopCreator, которое мой блог всячески поддерживает. Мы верим, что проект нужен российским дизайнерам, иллюстраторам и фотографам — мы хотимы быть вам полезны! Очень интересный проект, будьте среди первых. Заходите сюда

Комментарии

  1. 27 Авг
    Руслан

    Пора бы уже свои статьи писать, а не делать переводы.

  2. 27 Авг
    admin

    Руслан, заведите себе страничку, и делайте там всё, что хотите.

  3. 27 Авг
    admin

    Что касается этого блога, в нём были, есть и будут переводы, это 100%. Это одна из ключевых концепций.

  4. 14 Дек
    oleg

    а как насчет сортировок массивов больших объемов данных?
    стандарт тут не катит

  5. 14 Дек
    admin

    Честно говоря, не знаю
    Надо отдельно смотреть

  6. 07 Окт
    Иван

    а как сделать сортировку по дате выхода фильма, перетосовки строк?

  7. 09 Апр
    Denis

    а как насчет сортировок массивов больших объемов данных? -> pochemu ? vam eta astrolog skazal ?? ) atkuda takie vivadi :D

Оставить комментарий:

Anti-Spam Protection by WP-SpamFree


  • Kevin Durant Shoes
  • Lebron Shoes
  • Lebron James Shoes
  • Nike Lebron James Shoes
  • Derrick Rose Shoes
  • D Rose Shoes
  • KD 7 Shoes
  • Kobe X Shoes
  • Kobe 10 Shoes
  • KD 7
  • Kevin Durant Shoes
  • KD Shoes
  • Nike KD Shoes
  • Kobe 10 Shoes
  • Discount Kobe Shoes
  • Kobe Shoes
  • Kobe Bryant Shoes
  • KD 7 Shoes
  • Kyrie Irving Shoes
  • Lebron 12
  • Lebron James Shoes
  • Lebron Shoes
  • Nike Free
  • Nike Free Run
  • Air Max Shoes
  • Cheap Air Max Shoes
  • Lebron James Jersey
  • Kobe Bryant Jersey
  • Kevin Durant Jersey
  • Air Jordan Shoes
  • Michael Jordan Jersey
  • Blake Griffin Shoes
  • Russell Westbrook Shoes
  • Rose Shoes
  • Kobe Bryant Jerseys
  • Lebron James Jerseys
  • Kobe Bryant Jersey
  • Lebron James Jersey
  • Supra Shoes
  • Kyrie 1 Shoes
  • Nike Free 5.0
  • Nike Free 5
  • kevin durant shoes
  • kd 7
  • kd new shoes
  • KD Shoes
  • Kyrie 1
  • Jeremy Scott shoes
  • Jeremy Scott Adidas
  • Tenis Adidas Springblade
  • Kevin Durant Shoes
  • Kobe Bryant Shoes
  • KD Shoes Store
  • KD Sneakers
  • Lebron Basketball Shoes
  • Adidas Porsche Design
  • kd shoes
  • Cheap Herve Leger Dress
  • Cheap Lebron Shoes
  • Adidas Porsche Design
  • Lebron James Shoes
  • Coach Retail Store
  • nba jerseys
  • louis vuitton handbags
  • Cheap Lebron 11
  • Kobe Bryant Shoes
  • Kevin Durant Shoes
  • louis vuitton belts
  • kobe shoes
  • Lebron James Shoes
  • Kevin Durant Shoes
  • Los Angeles Clippers Jerseys
  • Toronto Raptors Jerseys
  • kd 6
  • kd 7
  • kobe 9
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1
  • KD Shoes
  • Lebron James Shoes
  • KD 7
  • Westbrook Shoes
  • Lebron Shoes
  • Lebron James Shoes
  • Air Max Shoes
  • kobe bryant shoes
  • Derrick Rose Shoes
  • Rose Shoes
  • KD 7
  • Kobe X
  • Kobe 10
  • Lebron Shoes 12
  • kyrie irving shoes
  • Nike KD Shoes
  • Cheap Nike Free
  • Nike Free
  • Lebron 12 Shoes
  • Cheap Air Max
  • Cheap Lebron Jerseys
  • Kobe Bryant Jerseys
  • Kevin Durant Jersey
  • Kobe Shoes
  • Griffin Shoes
  • Michael Jordan Jerseys
  • Kobe Jerseys
  • Lebron Jerseys
  • Kobe Bryant Jerseys
  • Lebron James Jerseys
  • Cheap Supra Shoes
  • Supra Shoes
  • Nike Kyrie 1
  • Nike Free Shoes
  • Nike Free Run
  • KD shoes
  • Kyrie 1 Shoes
  • Kevin Durant Shoes
  • Jeremy Scott Wings
  • Jeremy Scott Shoes
  • Lebron James Shoes
  • Adidas Porsche Design
  • Kobe Shoes
  • Cheap Kevin Durant Shoes
  • Kevin Durant Shoes
  • Lebron 11
  • Porsche Design Adidas
  • Cheap KD Shoes
  • Lerbon James Sneakers
  • Cheap KD Shoes
  • Herve Leger Dress
  • Lebron Shoes
  • Porsche Design Shoes
  • Lebron Shoes
  • Nike Shoes
  • Cheap Coach Bags
  • louis vuitton purses
  • cheap nba jerseys
  • Lebron James Shoes
  • Cheap Kobe Shoes
  • Kobe Shoes
  • KD Shoes
  • KD Shoes
  • Sacramento Kings Jerseys
  • Washington Wizards Jerseys
  • Air Jordan Shoes
  • kd 6
  • kd 7
  • kobe 9
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1
  • Lebron James Shoes
  • Lebron 12
  • Lebron 11
  • Kobe Shoes
  • cheap kobe shoes
  • lebron 12 shoes
  • James Shoes
  • Lebron Shoes
  • Rose Shoes
  • Derrick Rose Shoes
  • Kobe 9
  • NIke KD
  • KD VII
  • KD Shoes 2015
  • kyrie shoes
  • Air Max 90
  • Air Max Shoes Sale
  • Nike Free Shoes
  • Nike Free Run 2
  • Lebron 12
  • Lebron Jerseys For Sale
  • Cheap Kobe Jerseys
  • KD Jersey
  • Jordan Jersey
  • Jordan Griffin Shoes
  • Kobe Bryant Jersey
  • Lebron James Jersey
  • Supra Footwear
  • Supra Shoes
  • KD Shoes
  • Kyrie irving Shoes
  • Nike Free Run Shoes
  • nike free run 5.0 women
  • KD Shoes
  • Kyrie Irving Shoes
  • Kevin Durant Shoes
  • KD Shoes
  • Kobe Shoes
  • Kobe Shoes
  • Adidas Wings
  • Kobe Bryant Shoes
  • Porsche Design Adidas
  • Cheap Kobe Shoes
  • KD 6
  • Cheap Westbrook Shoes
  • Kevin Durant Shoes
  • Adidas Porsche Shoes
  • Cheap Lebron James Shoes
  • Kevin Durant Shoes
  • Herve Leger Outlet
  • Lebron James Shoes
  • Adidas Porsche Design Bounce
  • Nike Lebron Shoes
  • Coach Outlet
  • nba jerseys for sale
  • louis vuitton bags
  • Air Jordan 29
  • Nike Lebron Shoes
  • Nike Kobe Shoes
  • Cheap Kobe Shoes
  • Cheap KD Shoes
  • KD 6
  • Utah Jazz Jerseys
  • Philadelphia 76ers Jerseys
  • Air Jordan Shoes
  • kd 6
  • kd 7
  • kobe 9
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1
  • Cheap Lebron Shoes
  • Lebron New Shoes
  • James Shoes
  • Cheap Lebron 11
  • Lebron James Shoes
  • KD 7
  • Adidas Rose Shoes
  • Rose 5
  • NIke KD 7
  • irving shoes
  • KD Shoes
  • Kobe 9
  • Air Max 95
  • Air Max 2014
  • Nike Free 3.0
  • Nike Free Run 3
  • lebron shoes for sale
  • kobe 2014
  • Cheap Lebron James Shoes
  • Kobe Jerseys
  • Kevin Durant Jerseys
  • Jordan Jerseys
  • Cheap Griffin Shoes
  • Jordan Westbrook Shoes
  • Kobe Jersey
  • Lebron Jersey
  • Supra Online
  • Supra Shoes
  • Kyrie 1
  • Irving Shoes
  • Kyrie Shoes
  • Nike Kyrie 1
  • KD Shoes 2015
  • Kobe Shoes 2015
  • Kobe Shoes 2015
  • Kevin Durant Shoes
  • Nike KD Shoes
  • Nike Kobe Shoes
  • Nike Kobe Shoes
  • Adidas Jeremy Scott
  • Adidas Jeremy Scott
  • KD Shoes
  • Adidas Springblade Shoes
  • Kevin Durant Shoes
  • nba jerseys 2015
  • Porsche Design Shoes
  • KD 6
  • KD Shoes Sale
  • Lebron James Shoes
  • Lebron James Shoes
  • Cheap KD Basketball Shoes
  • Herve Leger Bandage Dress
  • Adidas Porsche Bounce Shoes
  • Cheap Lebron Shoes
  • Cheap Coach Handbags
  • Louis Vuitton Bags Women
  • louis vuitton outlet
  • Kobe Shoes
  • Cheap Jordan Shoes
  • Lebron Shoes
  • Lebron Shoes Sale
  • Kobe Shoes Sale
  • Kobe Bryant Shoes
  • Lebron James Shoes
  • KD 6 Shoes
  • Boston Celtics Jerseys
  • New Orleans Pelicans Jerseys
  • kd 6
  • kd 7
  • kobe 9
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1
  • Lebron James Shoes
  • Lebron 12
  • Cheap Lebron Shoes
  • Lebron Basketball Shoes
  • Cheap Lebron Shoes
  • D Rose Shoes
  • Rose 5.0
  • KD Shoes
  • kyrie irving shoes
  • Nike Air Max Shoes
  • Nike Air Max
  • Nike Free 5.0
  • Nike Free Womens
  • nike lebron 12
  • kobe shoes 2014
  • Cheap Lebron Shoes
  • KD 7 EP
  • KD 2014
  • Kevin Durant Shoes
  • Lebron Jerseys
  • Lebron James Jerseys
  • Kobe Bryant Jersey
  • Kobe Jerseys For Sale
  • Kobe Jerseys Sale
  • KD Jerseys
  • Cheap Jordan Jerseys
  • Hyperdunk Griffin Shoes
  • Westbrook Shoes 2015
  • Nike Kobe Jersey
  • Lebron Jersey For Sale
  • Nike Supra
  • Supra Shoes
  • Kyrie 1
  • nike free run 5.0 women
  • nike free run women
  • Cheap Kyrie 1
  • Cheap Kyrie Shoes
  • Kyrie Shoes 2015
  • Adidas Shoes
  • Lebron Shoes
  • Porsche Design Shoes
  • Kobe 8
  • KD Shoes
  • Cheap Kevin Durant Shoes
  • Lebron Shoes
  • nba jerseys 2014
  • kd Shoes nba
  • Herve Leger Bandage Dress
  • Nike Lebron 11
  • louis vuitton sale
  • Kobe Bryant Shoes
  • Air Jordan Shoes
  • Cheap Lebron James Shoes
  • Kobe Shoes Sale
  • Lebron Shoes
  • Miami Heat Jerseys
  • Los Angeles Lakers Jerseys
  • kd 6
  • kd 7
  • kobe 9
  • Westbrook Shoes Sale
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1
  • Cheap Lebron Shoes
  • Lebron James Shoes
  • Lebron James Shoes Sale
  • Lebron James Jerseys
  • Cheap Rose Shoes
  • Rose 5 Shoes
  • Nike Free 6.0
  • Nike Free Sale
  • Kyrie Shoes Sale
  • KD Shoes
  • Air Max 2014
  • Air Max 90
  • cheap lebron shoes
  • lebron shoes
  • Lebron James Jersey
  • Lebron Shoes
  • Cheap KD Jerseys
  • Kevin Durant Jersey For Sale
  • Kobe Shoes
  • Jordan Jersey sale
  • Jordan Blake Griffin Shoes
  • Russell Westbrook Shoes Sale
  • official supra shoes
  • Porsche Design Shoes
  • Cheap Jeremy Scott Wings
  • Kobe Shoes sale
  • Lebron Shoes
  • Herve Leger Sale
  • nba jerseys sale
  • Coach Wallets
  • cheap louis vuitton handbags
  • Air Jordan
  • Nike Lebron Shoes Sale
  • Kobe 9
  • Kyrie 1
  • Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving Shoes
  • Irving Shoes
  • nike free run 5.0 men
  • nike free shoes on sale
  • Supra Shoes
  • LV Handbags Men
  • Kevin Durant Shoes
  • KD VI
  • Adidas Shoes
  • San Antonio Spurs Jerseys
  • Chicago Bulls Jerseys
  • kd 6
  • kd 7
  • kobe 9
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1
  • Kevin Durant Shoes
  • Lebron Shoes Sale
  • Lebron Shoes 2015
  • Lebron 12
  • Lebron James Shoes
  • Rose New Shoes
  • Rose Shoes 2015
  • Lebron Shoes 2015
  • Lebron 12
  • Lebron Jerseys sale
  • Nike kyrie shoes
  • Adidas Derrick Rose
  • Adidas Store
  • Adidas Shoes
  • Adidas Derrick Rose
  • lebron james shoes
  • Nike Kyrie Shoes
  • Kyrie irving Shoes For Sale
  • Lebron James Jersey
  • Kobe Bryant Jerseys
  • Kobe Jerseys For Sale
  • Kobe Jerseys Sale
  • Supra Shoes
  • Russell Westbrook Shoes
  • Kobe Jersey Sale
  • Cleveland Cavaliers Lebron Jersey
  • OKC Jersey
  • Nike Lebron Shoes
  • Lebron James Basketball Shoes
  • Kevin Durant Shoes
  • Herve Leger Bandage
  • Griffin Shoes Sale
  • nba jerseys store
  • Lebron Shoes 2014
  • cheap louis vuitton bags
  • Cheap Kobe Jersey
  • Lebron Jersey 23
  • Jordan Shoes
  • official nba jerseys
  • NBA Stars Basketball Shoes
  • KD Shoes
  • Air Max Shoes 90
  • Air Max 95
  • KD 2014 Shoes
  • KD For Sale
  • Nike Shoes
  • Nike Free
  • Kyrie 1
  • Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving Shoes
  • Irving Shoes
  • Phoenix Suns Jerseys
  • Customized NBA Jerseys
  • Jordan Shoes
  • kd 6
  • kd 7
  • kobe 9
  • Bulls Jordan Jersey
  • Kyrie 1
  • Nike Kyrie 1
  • Kyrie 1 Shoes
  • Kyrie Irving 1