За последние 24 часа нас посетили 15028 программистов и 1766 роботов. Сейчас ищут 1536 программистов ...

Переиндексация массива

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

  1. Vladim

    Vladim Новичок

    С нами с:
    24 дек 2014
    Сообщения:
    11
    Симпатии:
    0
    Всем доброго времени суток!
    Вопрос такой. Как переиндексировать массив вида:
    Код (Text):
    1.  
    2. Array
    3. (
    4.     [0] => Array
    5.         (
    6.             [1] => Array
    7.                 (
    8.                     [id] => 0
    9.                     [name] => liverpool
    10.                     [points] => 12
    11.                 )
    12.  
    13.             [2] => Array
    14.                 (
    15.                     [id] => 1
    16.                     [name] => chelsea
    17.                     [points] => 12
    18.                 )
    19.  
    20.         )
    21.  
    22.     [1] => Array
    23.         (
    24.             [3] => Array
    25.                 (
    26.                     [id] => 3
    27.                     [name] => everton
    28.                     [points] => 8
    29.                 )
    30.  
    31.             [4] => Array
    32.                 (
    33.                     [id] => 4
    34.                     [name] => arsenal
    35.                     [points] => 8
    36.                 )
    37.  
    38.         )
    39.  
    40. )
    в
    Код (Text):
    1.  
    2. Array
    3. (
    4.     [0] => Array
    5.         (
    6.             [0] => Array
    7.                 (
    8.                     [id] => 0
    9.                     [name] => liverpool
    10.                     [points] => 12
    11.                 )
    12.  
    13.             [1] => Array
    14.                 (
    15.                     [id] => 1
    16.                     [name] => chelsea
    17.                     [points] => 12
    18.                 )
    19.  
    20.         )
    21.  
    22.     [1] => Array
    23.         (
    24.             [0] => Array
    25.                 (
    26.                     [id] => 3
    27.                     [name] => everton
    28.                     [points] => 8
    29.                 )
    30.  
    31.             [1] => Array
    32.                 (
    33.                     [id] => 4
    34.                     [name] => arsenal
    35.                     [points] => 8
    36.                 )
    37.  
    38.         )
    39.  
    40. )
    Понятно, что можно воспользоваться стандартной функцией sort().
    Но хотелось бы понять сам принцип такой переиндексации.
    Возможно ли такое при помощи foreach() или цикла for?
    Заранее благодарен.
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    пробежаться по массиву с пом foreach , и взять везде array_values() в новый массив
     
  3. Vladim

    Vladim Новичок

    С нами с:
    24 дек 2014
    Сообщения:
    11
    Симпатии:
    0
    Как вариант да, но хотелось обойтись без стандартных функций.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    foreach и рекурсия?
     
  5. Vladim

    Vladim Новичок

    С нами с:
    24 дек 2014
    Сообщения:
    11
    Симпатии:
    0
    Да возможно.
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ну тогда и foreach нельзя. reset(), each(), next(), end()... в зубы и вперед)
     
  7. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    а почему, можно узнать?
    как-то влияет на производительность скрипта? нужно ухудшить читабельность кода? в чем соль? )
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мне кажется это какие-то курсы. регулярно возникают волны однотипных сообщений типа распарсить хтмл регулярками и только регулярками без всяких там хмл-функций. не так давно кто-то стрлен изобретал через обход строки. и так далее. в общем какая нам разница. может человек алгоритмизацию через такую вот непонятную жопу начал учить.

    форыч таки конструкция, а про конструкции тут ни слова ни сказано. а резет-ич-некст-энд - функции, стандартные. значит нельзяшные.
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.097
    Симпатии:
    1.241
    Адрес:
    там-сям
    if и goto, больше ничего не надо )))
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    точнаяк, в этом богом забытом языке есть гоуту )))))
     
  11. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    про запрет на функции тоже изначально сказано небыло. потом, обмолвился случайно. может и конструкции некоторые нельзя. хз.
    просто если хочет то что написал:
    то как раз нужно то что я указал. чтобы ручками самому по массиву лазить и делать с ним что нужно.