Что нового

Работа с многоуровневыми, с массивами массивов и псевдоассоциативными массивами

DyadyaGenya

Знающий
Сообщения
308
Репутация
10
Версия AutoIt
3.3.14.5
Версия
0.1
Доброго времени суток. Давно ничего не писал, да и на форуме пару лет не показывался, всё забыл, но случайно понадобилось поработать с 3-х уровневым массивом типа $aArray[2][5][3]
Оказалось, что нет функций для работы с такими случаями. Вернее есть отдельные решения под отдельную размерность. Есть распечатка сплошным текстом многоуровневого массива от [B]dwerf[/B] но там всё неудобно было. Не было наглядности и для анализа слабовато.
А возможно я плохо икал.
Долго мучался и вроде как получилась функция для распечатки содержимого массива сперва в виде пар "Индекс = Значение", Подсказал идею [B]Alecsis[/B] Затем по типу print_r из PHP. Причем этим функциям всё равно какой массив, сколько в нём уровней, массив массивов или псевдоассоциативный. Вроде бы кушает всё. А дальше пошло быстрее. Написал функцию поиска в таких массивах. Уже начал переделывать для сортировки, удаления, обрезания/вырезания, для удаления повторяющихся значений. Даже сделал аналог функции var_dump из PHPс проверкой типов данных. Одним словом на этой базе можно довольно легко написать все аналогичные функции из Array.au3 и плюс дополнительные.
Я не совсем уверен, что это кому-то надо и стоит ли тратить время. У меня то это получилось побочным продуктом и в ближайшее время не было задач что-то писать на Autoit. Но, если вдруг кому-то интересна такая тема, либо подскажите, что ещё могло бы понадобиться и тогда попробую дописать. Либо вот несколько примеров, может кто дальше разовьет эту тему.
Возможно нужно как-то переоформить код, переназвать переменные и функции. Я до сих пор писал для себя и для работы тоесть там, где читабельность не особо важна. Так что в этом плане это моя первая более менее нормально оформленная работа. Надеюсь, косяков с оформлением будет не много.
И возможно всё это уже есть где-то, но я не нашел и зря старался. Тогда хотелось бы увидеть, как это у других работает.
 

Вложения

  • PrintArrayPHPStyle2.7z
    2.4 КБ · Просмотры: 0
  • PrintArrayRow.7z
    1.7 КБ · Просмотры: 0
  • ArrayRowSearch.7z
    1.5 КБ · Просмотры: 0
Верх