Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Сотировка в многомерном массиве
Мне нужно для освоения навыков:
1) Отсортировать все элементы этого массива на всех уровнях по возрастанию.
2)Удалить из массива все дроби.
Как это лучше сделать?! Помогите, пожалуйста! Или хотя бы посоветуйте как получить доступ к массивам внутри многомерного массива. По возможности комментируйте свой код.
dXdYdZ
Отправлено: 30 Ноября, 2013 - 20:22:34
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
Используйте рекурсивную функцию и foreach.
geni_student
Отправлено: 30 Ноября, 2013 - 21:30:31
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
[Используйте рекурсивную функцию и foreach.]
Хорошо. Но как это применить к данному случаю? Нужна помощь!
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
AmsTaFF
Отправлено: 03 Декабря, 2013 - 15:03:21
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Июнь 2013 Откуда: Россия, Москва
Помог: 1 раз(а)
Hapson пишет:
AmsTaFF
А вы пробовали запускать это? (Добавление) geni_student
Не страдай фигней, а лучше почитай http://www.php.net/manual/ru/array.sorting.php
http://php.net/manual/ru/language.control-structures.php
ойй.... что это я ... прошу прощения, неправильно да и вообще удалю ка я...
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
geni_student пишет:
dXdYdZ, ты не знаешь почему ["C"] в полученном массиве идет после ["TGHI"]???
И ["C"] и ["TGHI"] - это ключи массива, а не значения. А функция asort сортирует массивы по значениям, а не по ключам. Значения же в данном случае - массивы. Вот функция asort и посчитала, что массив, на который указывает ключ "C", больше массива, на который указывает ключ "TGHI". Поэтому и так отсортировала.
geni_student
Отправлено: 03 Декабря, 2013 - 17:55:08
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
dXdYdZ пишет:
geni_student пишет:
dXdYdZ, ты не знаешь почему ["C"] в полученном массиве идет после ["TGHI"]???
И ["C"] и ["TGHI"] - это ключи массива, а не значения. А функция asort сортирует массивы по значениям, а не по ключам. Значения же в данном случае - массивы. Вот функция asort и посчитала, что массив, на который указывает ключ "C", больше массива, на который указывает ключ "TGHI". Поэтому и так отсортировала.
Скажи, а как можно отсортировать ключи по порядку, но в то же время чтобы значения тоже шли по порядку и сохранялась связь между ними.
dXdYdZ
Отправлено: 03 Декабря, 2013 - 18:00:14
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
geni_student пишет:
Скажи, а как можно отсортировать ключи по порядку, но в то же время чтобы значения тоже шли по порядку и сохранялась связь между ними.
Если отсортировать ключи по порядку, то значения будут уже не по порядку. И наоборот, если отсортировать по порядку значения, то ключи будут не по порядку (это при условии сохранения связи)
geni_student
Отправлено: 03 Декабря, 2013 - 18:20:31
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Нояб. 2013
Помог: 0 раз(а)
dXdYdZ пишет:
geni_student пишет:
Скажи, а как можно отсортировать ключи по порядку, но в то же время чтобы значения тоже шли по порядку и сохранялась связь между ними.
Если отсортировать ключи по порядку, то значения будут уже не по порядку. И наоборот, если отсортировать по порядку значения, то ключи будут не по порядку (это при условии сохранения связи)
А если сначала отсортировать по порядку значения одной функцией, а потом отсортировать уже ключи другой функцией, то по идее должно получится!? Надо попробовать.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.