За последние 24 часа нас посетили 55010 программистов и 1749 роботов. Сейчас ищут 792 программиста ...

Сортировка по алфавиту

Тема в разделе "PHP для новичков", создана пользователем Yankovitz, 2 май 2018.

  1. Yankovitz

    Yankovitz Активный пользователь

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Есть массив:
    Код (Text):
    1. (
    2.     [kind] => webfonts#webfontList
    3.     [items] => Array
    4.         (
    5.             [0] => stdClass Object
    6.                 (
    7.                     [kind] => webfonts#webfont
    8.                     [family] => Open Sans
    9.                     [variants] => Array
    10.                         (
    11.                             [0] => 300
    12.                             [1] => 300italic
    13.                             [2] => regular
    14.                         )
    15.  
    16.                     [subsets] => Array
    17.                         (
    18.                             [0] => cyrillic-ext
    19.                             [1] => latin
    20.                         )
    21.  
    22.                     [version] => v6
    23.                     [lastModified] => 2012-07-25
    24.                     [files] => stdClass Object
    25.                         (
    26.                             [300] => http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTS3USBnSvpkopQaUR-2r7iU.ttf
    27.                             [300italic] => http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxi9-WlPSxbfiI49GsXo3q0g.ttf
    28.                             [regular] => http://themes.googleusercontent.com/static/fonts/opensans/v6/IgZJs4-7SA1XX_edsoXWog.ttf
    29.                         )
    30.  
    31.                 )
    32.  
    33.             [1] => stdClass Object
    34.                 (
    35.                     [kind] => webfonts#webfont
    36.                     [family] => Oswald
    37.                     [variants] => Array
    38.                         (
    39.                             [0] => 300
    40.                             [1] => regular
    41.                             [2] => 700
    42.                         )
    43.  
    44.                     [subsets] => Array
    45.                         (
    46.                             [0] => latin
    47.                             [1] => latin-ext
    48.                         )
    49.  
    50.                     [version] => v7
    51.                     [lastModified] => 2012-10-03
    52.                     [files] => stdClass Object
    53.                         (
    54.                             [300] => http://themes.googleusercontent.com/static/fonts/oswald/v7/y3tZpCdiRD4oNRRYFcAR5Q.ttf
    55.                             [regular] => http://themes.googleusercontent.com/static/fonts/oswald/v7/uLEd2g2vJglLPfsBF91DCg.ttf
    56.                             [700] => http://themes.googleusercontent.com/static/fonts/oswald/v7/7wj8ldV_5Ti37rHa0m1DDw.ttf
    57.                         )
    58.  
    59.                 )
    60.        )
    61. )
    Подскажите, как отсортировать по значению ключа family (по алфавиту)? Вернуть должен массив с той же структурой, только отсортированный.
     
  2. AlexandrS

    AlexandrS Активный пользователь

    С нами с:
    30 сен 2017
    Сообщения:
    659
    Симпатии:
    103
    Адрес:
    Краснодар
    Возможно бред, не претендую на истину, но
    Сделай привязку ключ основного массива к значению [family] => Oswald, т.е.
    [0] => Open Sans
    [1] => Oswald
    Затем сортируем его без потери привязки ключа, а затем по этому ключу собираем массивы в той последовательности по которой они расставлены после сортировки, хотя может есть вариант гораздо проще.
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Yankovitz, usort для массива, находящегося в 'items' в помощь.