Как создать мульти массив из простого?
У меня есть массив:
$data = array('name1', 'name2', 'name3');
Как добавить к каждому элементу значения чтобы получить такой?
$data = array(
'tags' => array(
['name' => 'name1',
'status' => 'active'],
['name' => 'name2',
'status' => 'active'],
['name' => 'name3',
'status' => 'active']
),
);
Ответы (2 шт):
Автор решения: Denis640Kb
→ Ссылка
<?php
$data = array('name1', 'name2', 'name3');
$NewArr = array(
"tags"=> array()
);
foreach ($data as $val){
$tempArr = array('name' => $val,
'status' => 'active');
array_push($NewArr['tags'],$tempArr);
}
print_r($NewArr);
Автор решения: Anton Shchyrov
→ Ссылка
Или короче
$data = array('name1', 'name2', 'name3');
$res = [
"tags"=> []
];
foreach ($data as $val) {
$res["tags"][] = [
'name' => $val,
'status' => 'active'
];
}
Или с использованием array_map() и анонимной функции
$data = array('name1', 'name2', 'name3');
$res = [
"tags"=> []
];
$res = array_map(function($val) {
return [
'name' => $val,
'status' => 'active'
];
}, $data);