Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 2
Регистрация: 11.04.2018
Сообщений: 148

Ветка массивов

10.12.2018, 13:03. Показов 791. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно динамически добавлять ветку массива
Пример:
PHP
1
$array['test1']['test2']['test3']
После при необходимости выбирать ветку массива
Как это сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2018, 13:03
Ответы с готовыми решениями:

Обработка исключений или if ветка?
Решил для серверной части выучить php. Большинство функций возвращают булеву переменную , говорящую об успешности выполнения. Также еще для...

Считывание массивов, ассоциативных массивов из файлов
Есть 2 массива - выведено через print_r Array ( => Array ( => Менеджер 3 => Array ( => Array ( => 2111274 => 4798738 => 1 ...

Не работает ветка ELSE в IF ELSE
Дорогие участники форума, здравствуйте. Помогите, пожалуйста, с кодом. В нём не работает ветка ELSE в одном из операторов IF ELSE. Создаю...

7
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
10.12.2018, 13:51
PHP
1
2
3
4
5
6
7
8
// добавили пустую ветку test4
$array['test1']['test2']['test3']['test4'] = [];
 
// добавили ветку test4 и сразу записали туда число 1.
$array['test1']['test2']['test3']['test4'][] = 1;
 
// вывели ветку test4
print_r($array['test1']['test2']['test3']['test4']);
0
1 / 1 / 2
Регистрация: 11.04.2018
Сообщений: 148
10.12.2018, 13:54  [ТС]
tarasalk дело в том, что я не знаю когда нужно добавлять ветку массивов, а когда нет, поэтому нужно делать динамически
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
10.12.2018, 14:51
Nikolay192, а кто тогда знает? Какая-то же логика добавления ветки есть.
0
1 / 1 / 2
Регистрация: 11.04.2018
Сообщений: 148
10.12.2018, 15:05  [ТС]
tarasalk возможно есть, я не знаю, поэтому тут и спрашиваю может кто знает
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
10.12.2018, 15:14
Nikolay192, очевидно кроме вас никто не может знать как должна работать ваша программа.
0
1 / 1 / 2
Регистрация: 11.04.2018
Сообщений: 148
10.12.2018, 15:55  [ТС]
tarasalk допустим у меня есть массив
PHP
1
$array[0=>'test',1=>'test2',2=>'test3']
этот путь приводит допустим к значению "Hello", при выполнении кода нужно вписать ( динамически ) и вывести значение "Hello"
PHP
1
 echo $array[0=>'test',1=>'test2',2=>'test3']
Но проблема в том, что я не знаю какой длины может быть путь
Путь к необходимым значениям лежат в строке, test-test2-test3 это путь к значению и он меняется динамически при выполнения кода то есть разные пути к разным значениям могут быть
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
10.12.2018, 16:31
Цитата Сообщение от Nikolay192 Посмотреть сообщение
допустим у меня есть массив
Код не рабочий. Да и совсем не подходит под то, что вы описали ниже.

Цитата Сообщение от Nikolay192 Посмотреть сообщение
Путь к необходимым значениям лежат в строке, test-test2-test3 это путь к значению и он меняется динамически при выполнения кода то есть разные пути к разным значениям могут быть
Т.е. одним ключом вернуть значение из многоуровневого массива? Очень мутно объясняете.

laravel-helpers
Смотрите array_get, array_set

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function array_get($array, $key, $default = null)
    {
        if (is_null($key)) return $array;
        if (isset($array[$key])) return $array[$key];
        foreach (explode('.', $key) as $segment)
        {
            if ( ! is_array($array) || ! array_key_exists($segment, $array))
            {
                return value($default);
            }
            $array = $array[$segment];
        }
        return $array;
    }
 
 
$arr = ['test1' => ['test2' => ['test3' => 'hello']]];
 
print_r(array_get($arr, 'test1.test2.test3')); // hello
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2018, 16:31
Помогаю со студенческими работами здесь

Найти все решения числового ребуса: ВЕТКА+ВЕТКА+СТВОЛ=ДЕРЕВО
написать программу Pascal

Ребус ВЕТКА + ВЕТКА = ДЕРЕВО
Надо решить ребус ВЕТКА + ВЕТКА = ДЕРЕВО, используя при этом метод перебора с возвратом и множества. Как просто решить этот ребус...

ветка страниц
Уважаемые мастера! Объясните новичку каким образом можно сверстать страницу так, чтоб окончание ее (или какой-то отдельный отрезок) ...

Не выполняется ветка else
Здравствуйте, прошу о помощи.Вот программа-микрокалькулятор.Необходимо, что бы после ввода знака операции шел запрос на ввод одного или 2х-...

chcp 1251 Ветка
Всем Доброго времени Суток,вот я решил заняться .bat программированием,с встал в тупик с ситуацией запуска Системных сообщений из...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru