我不认为这可以做到(不论我自己的功能),但我会问任何方式。
我在PHP中有一个数组,如
array(
'item1' => array(
'Hello',
'Good',
),
'item2' => array(
'World',
'Bye',
),
)
各个字段来自网络表单
我想将其重新排列为以下
array(
array(
'item1' => 'Hello',
'item2' => 'World',
),
array(
'item1' => 'Good',
'item2' => 'Bye',
),
)
从字段数组中创建一个对象数组
我可以编写一个函数来执行此操作。
但是我想知道内置数组函数中的一个可以为我实现这个吗?
答案 0 :(得分:1)
没有内置函数可以执行此操作 - 但这是一个用户定义的函数:
function convert_array ($array) {
$result = array();
foreach ($array as $key => $inner) {
for ($i = 0; isset($inner[$i]); $i++) {
$result[$i][$key] = $inner[$i];
}
}
return $result;
}
答案 1 :(得分:1)
肯定不是最有效的,但接近“一个功能”就像你会得到的那样。 ;)
array_map(function ($i) use ($array) { return array_combine(array_keys($array), $i); }, call_user_func_array('array_map', array_merge(array(function () { return func_get_args(); }), $array)));
答案 2 :(得分:0)
没有。没有内置功能可以做到这一点。