Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195

Создание многомерного массива

23.02.2017, 00:54. Показов 727. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста, возможно ли в php такое?

есть массив и переменная

PHP
1
2
  $path = array('body','text','t');
  $val = 'test';
на основе этих данных нужно создать вот такой массив

PHP
1
    $res = array('body' => array('text' => array('t' => array('test'))));
есть у кого идеи как такое реализовать? заранее спасибо)

Добавлено через 12 минут
при этом важное замечание, что $res уже создан

PHP
1
$res = array('body' => array('good' => array('a1','a2')));
после должны получить

PHP
1
$res = array('body' => array('good' => array('a1','a2'),'text' => array('t' => array('test'))));
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2017, 00:54
Ответы с готовыми решениями:

создание нового массива из многомерного
Добрый день. Есть у меня двумерный массив: $array = ; из него хочу собрать новый массив вида: $new_array = Делаю...

Выбор массива из многомерного массива по ключу
$array = array( array( 'id'=>'1', 'value'=>'Значение 1', ), array( 'id'=>'2', ...

Сортировка многомерного массива
Здравствуйте, есть массив, который выглядит так: $arr= 1; $arr= 24567; $arr= 35679; // $arr= 2; $arr= 29008; $arr= 45678; ...

4
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
23.02.2017, 00:59
PHP
1
2
3
4
5
$res = array('body' => array('good' => array('a1','a2')));
$path = array('body','text','t');
$val = 'test';
$res['body'][$path[1]] = array(end($path)=>array($val));
print_r($res);
0
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
23.02.2017, 13:58  [ТС]
Azdeman, спасибо, но массивы $res и $path я написал для примера. массив $path генерируется автоматически каждый раз новый. нужно как то реализовать обновление массива $res c новыми значениями в массиве $path.
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
23.02.2017, 14:01
Цитата Сообщение от Fantom2209 Посмотреть сообщение
Azdeman, спасибо, но массивы $res и $path я написал для примера. массив $path генерируется автоматически каждый раз новый. нужно как то реализовать обновление массива $res c новыми значениями в массиве $path.
ну вот по вашему примеру я решил, какой вопрос - таков и ответ, я же не экстрасенс что бы знать какие данные нужно куда вставить. Если данные в такой последовательности как вы написали , значит всё будет работать даже если вы поменяете строки на другие.
0
 Аватар для Fantom2209
30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
23.02.2017, 14:22  [ТС]
Azdeman, Да, мой косяк, сори. Вот написал функцию, которая создаст на основе массива $path новый массив, потом соединит со старым. Может есть идеи получше?

PHP
1
2
3
4
5
6
7
8
9
10
11
function func($res, $path, $val){
    $new = array();
    for($i = count($path)-1; $i >=0; $i--){
        if(count($new) == 0){
            $new[$path[$i]] = array($val);
            continue;
        }
        $new = array($path[$i] => $new);
    }
    return array_merge_recursive ( $res, $new);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2017, 14:22
Помогаю со студенческими работами здесь

Сортировка многомерного массива
Есть массив, собирается в цикле: $twArray = 15; $twArray = 'имя'; $twArray = 8; $twArray = 'имя96'; $twArray = 19; $twArray =...

Вывод многомерного массива
Добрый вечер! Столкнулся с проблемой - имеется многомерный массив. Хочу вывести элементы каждого массива в отдельный div (или ячейку...

Перемешивания многомерного массива
Здравствуйте, господа! Перемешать обычный массив просто. А как быть с более сложными? Например: array('1' => array('1.0', '1.1',...

Вывод многомерного массива
Доброго времени суток, впал в ступор с выводом массива, нужно создать из него (имеющегося массива) меню. Чтобы значение ключа Link попадало...

Вывод из многомерного массива
Есть массив: echo '<pre>'.print_r($arBalance, true).'</pre>'; Выводит видом: Array ( => 0 =>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru