我有像下面的数组。我想转换这个数组,但我想使用数组函数。是否有任何数组函数转换为数组
sessionid
进入这个数组
[name] => Array
(
[0] => Cash Crops
[7] => Cereal Crops
[12] => Vegetables
[25] => Leafy Vegetables
[28] => Vine Vegetables
)
答案 0 :(得分:4)
使用array_walk
应用于内部name
数组
$a = array(
'name' => array(
'Cash Crops','Cereal Crops','Vegetables','Leafy Vegetables','Vine Vegetables'
)
);
$result = array();
array_walk($a['name'],
function($value,$index) use (&$result){
$result[] = array(
'name' => $value
);
});
print_r($result);
将输出
Array
(
[0] => Array
(
[name] => Cash Crops
)
[1] => Array
(
[name] => Cereal Crops
)
[2] => Array
(
[name] => Vegetables
)
[3] => Array
(
[name] => Leafy Vegetables
)
[4] => Array
(
[name] => Vine Vegetables
)
)
答案 1 :(得分:2)
使用本机php函数执行此操作的最佳方法是使用array_map()
<?php
function twod($n)
{
$res = array('name' => $n);
return($res);
}
$a['name'] = array(1, 2, 3, 4, 5);
$new_array = array_map("twod", $a['name']);
print_r($new_array);
?>
请务必让社区了解您为什么要以特定方式获取某些内容,而不是仅仅说“我可以编写逻辑来转换它但我想要数组函数”
答案 2 :(得分:1)
$oldarray = array()//your array with old data;
$newarray = convertArray($oldarray);
function convertArray($old){
$new = array();
foreach($old as $index=>$value)
{
$new[]['name'] = $value;
}
return $new;
}
这会将其转换为您的数组。
答案 3 :(得分:0)
此oneliner适用于任何“名称”:
$tal = array_map(function($x) use($array) {return array( array_keys($array)[0] => $x);}, $array[array_keys($array)[0]]);