[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Преобразование массива
tarweb
Как можна преобразовать массив вида

$array["name_1"] = [
"a" => 1,
"b" => 2
];
$array["name_2"] = [
"c" => 3,
"d" => 4
];

в массив:

[["Time", "name_1", "name_2"],
["a", 1, 3],
["b", 2, 3],
["c", 2, 3],
["d", 2, 4]
];

Спасибо, ничего подобного пока не нашел.
Valick
Цитата (tarweb @ 15.10.2018 - 09:11)
Как можна преобразовать массив

а надо ли?
откуда берётся массив который должен претерпеть преобразования?

_____________
Стимулятор ~yoomoney - 41001303250491
tarweb
Не важно
sergeiss
tarweb, пробегаешь циклом по массиву. В твоем случае еще и вложенный цикл нужен.

Пиши код, скорректируем.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Эли4ка
Я не думаю,что эта задача решаема,так как хочу обратить внимание на:
1)были:"name_1", "name_2",а стало:"Time", "name_1", "name_2"-откуда взялся "Time"
2)были:"a" => 1,"b" => 2,"c" => 3,"d" => 4, а далее сочетания,выстроенные каким-то рандомным алгоритмом.
Если автор пояснит по этим 2м пунктам,то задача будет решаема. А так пока не понятно,как упорядочить данные в новом массиве
tarweb
Цитата (Эли4ка @ 15.10.2018 - 12:40)

Если автор пояснит по этим 2м пунктам,то задача будет решаема. А так пока не понятно,как упорядочить данные в новом массиве

Не важно, что вместо 'Time' будет - это название столбца.
[["Time", "name_1", "name_2"] - первый элемент нового массива (можна не вставлять).
Главное, чтобы горизонтальные данные переносились в вертикальные данные столбцов.
Например:
1. если данные пришли с name_1, то нужно записать в строку - name_1, name_2 - последнее значение name_2 .
2. если данные пришли с name_2, то нужно записать в строку - name_1-последнее значение name_1 и name_2 .
Эли4ка
Цитата
Главное, чтобы горизонтальные данные переносились в вертикальные данные столбцов.

каким образом?
tarweb
Цитата (Эли4ка @ 15.10.2018 - 15:10)
Цитата

каким образом?

Нужно взять значение -"a" с массива $array["name_1"] и перенести в ["a", сюда, а сюда перенести последнее значение с массива $array["name_2"]
и т.д.
Эли4ка
Тогда по вашему алгоритму получается 1,4 первое значение, а у вас 1,3. blink.gif
tarweb
Да, Вы правы - отредактирую
Эли4ка
Для "b" 2,3 это берется последний элемент из первого и первый из второго массива?Или как?
Эли4ка
Дайте,пожалуйста,алгоритм для всего массива.
tarweb
Давайте так

Массивы:
$array["name_1"] = ["a" => 1];
$array["name_2"] = ["b" => 3];

в массив:
["a", 1, 3], ["b", 3, 1]

(Значения а и в - динамические)
Эли4ка
key для получения ключа массива
array_value для значений.
Или вам код нужен?
tarweb
Мне нужен алгоритм.
Может нужна какая то рекурсия
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.