[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как добавить в массив массив?
Страницы: 1, 2
Эли4ка
Здравствуйте, дорогие форумчане. Возникла задача:
Есть массив
$my = array(
"ID" => 12345
);

К нему надо присоединить некоторое количество других массивов такой структуры:
array(
"productID" => $id,
"productName" => $desc,
"quantity" => 1
);

Чтобы на выходе получилось такое:
$my = array(
"orderID" => 12345,
"contents" => array(
array(
"productID" => 34,
"productName" => "Супер товар",
"quantity" => 1
),
array(
"productID" => 56,
"productName" => "Чудо товар",
"quantity" => 3
)
)
);

Не могу сообразить, как это сделать :(
Эли4ка
В статическом варианте можно сделать так:
$my["contents"] = array($a1,$a2);

А когда динамически? То есть таких массивов может быть 1, 4, 50 и т.д. Как же быть?
Эли4ка
Структура на выходе должна быть именно какую написала я.
[0]=>
[1]=>
...
[n]=>
такое не интересует-сделала бы сама.
Эли4ка
Решение:
// обычная вставка
$info_print[] = array('resources' => 'Новое значение','number' => 'Новое значение');
// с оберткой и заданными именами
function add_to_info_print($val, $num){
global $info_print;
$info_print[] = array('resources' => $val,'number' => $num);
}
add_to_info_print('Новое значение','Новое значение');
Эли4ка
Знаю, global не есть хорошо, но тут торопилась просто user posted image
Эли4ка
function f($val, $num, $a){
$a["content"][] =array('resources' => $val,'number' => $num);
return $a;
}

и пример вызова
f('Новое значение', 'Новое значение__', $array);

Вот так будет достаточно. :lol:
Эли4ка
Оказалось недостаточно :lol:, теперь вот хорошо и душа спокойна:
function f($to, $a, $add){
$a[$to][] = $add;
return $a;
}
Kusss
А тут точно нужна функция вообще ? ведь наверняка это все находиться в foreach.
$stack = [ "orange", "banana", "contents" => [] ];
array_push($stack['contents'], ["apple1", "raspberry1"]);
array_push($stack['contents'], ["apple2", "raspberry2"]);
print_r($stack);
Array
(
[0] => orange
[1] => banana
[contents] => Array
(
[0] => Array
(
[0] => apple1
[1] => raspberry1
)

[1] => Array
(
[0] => apple2
[1] => raspberry2
)
)
)
AllesKlar
это еще что за треш такой? :blink:

$order = [
"orderID" => 12345,
"contents" => []
];



$products = [
[

"productID" => 1111,
"productName" => "product 1111",
"quantity" => 1
],
[

"productID" => 2222,
"productName" => "product 2222",
"quantity" => 2
],
[

"productID" => 3333,
"productName" => "product 3333",
"quantity" => 3
],
[

"productID" => 4444,
"productName" => "product 4444",
"quantity" => 4
],

];


function addProductToOrder(&$order, $product) {
$order["contents"][]= $product;
}


addProductToOrder($order, $products[0]);
addProductToOrder($order, $products[2]);

var_dump($order);



Array
(
[orderID] => 12345
[contents] => Array
(
[0] => Array
(
[productID] => 1111
[productName] => product 1111
[quantity] => 1
)

[1] => Array
(
[productID] => 3333
[productName] => product 3333
[quantity] => 3
)

)

)


_____________
[продано копирайтерам]
Быстрый ответ:

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