![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Необходимо перевести код работы с массивом из PHP на Delphi
PHP код:
PHP код:
А как сделать подобное на Delphi? Код:
Пробовал TDictionary, но там не допускаются дубли ключей, на ПХП же они являются ключами множества $files['qaz1.txt'][] С записями тоже не совсем понятно как это провернуть. Цитата:
Последний раз редактировалось Admin, 03.02.2022 в 22:57. |
#2
|
||||
|
||||
![]() Ну так и делай. Собственно, как известно, многомерные массивы в Delphi это вложенные одномерные массивы. Указание нескольких индексов это просто синтаксический сахар.
Соответсвенно. Если ты хочешь иметь доступ по первому индексу по ключу, а далее по индексу, то храни в TDictionary массив: Код:
Должно работать. Ну с поправкой на то, что надо использовать соотв. методы TDictuonary. В принципе, можно написать свой класс-враппер, что бы упростить синтакс. Что-то типа: Код:
Можно использовать вложенные объекты. Тогда можно воспольщоваться индесным свойством и объявить его по умолчанию. Тогда синтакс упростится до использования квадратных скобок. Последний раз редактировалось lmikle, 04.02.2022 в 04:58. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Admin (04.02.2022)
|
#3
|
||||
|
||||
![]() Цитата:
Наваял пример, однако осталось не совсем понятно, как получить число дочерних элементов например товара 1, и как их перебрать в цикле. Код:
Используя Count также получаю что-то несуразное для дочерних элементов первого товара. Цитата:
Да и закоментированный "fl.Add(3, ['20','30']);" - у меня есть рекурсия - сканирование папок, в них файлы, так вот все дочерние элементы добавляются не за один раз, а при каждом проходе. Пока до этого не дошел даже. PHP код:
|
#4
|
|||
|
|||
![]() Да там, вроде, не count надо использовать, а получать коллекцию ключей и уже у нее брать count. или использовать новый систаксит for each.
|
#5
|
||||
|
||||
![]() Последний раз редактировалось Admin, 23.02.2022 в 16:45. |