输入:
beaconManager.requestAlwaysAuthorization()
我想输出:
$inputData = [
'0' => [
'name' => 'allen',
'team' => '76ers',
'num' => '3'
],
'1' => [
'name' => 'tmac',
'team' => 'magic',
'num' => '1'
],
'2' => [
'name' => 'kobe',
'team' => 'lakers',
'num' => '8'
]
];
最有效的方法是什么?我有大约400行数据要处理。
答案 0 :(得分:2)
这有效:
$array = array_map(function($a) {
return array_values($a);
}, $data);
array_map()
将对数组的每个元素应用闭包。
array_values()
将返回一个值数组,而不包含每个子数组的键。
答案 1 :(得分:1)
PHP 有一个内置函数,可以完全按照您想要的名称array_column()
执行操作。你需要传递你的多维数组的键,它将完成剩下的工作。
这是一个例子:
foreach($data[0] as $key=>$value){
$out[] = array_column($data, $key);
};
var_dump($out);
答案 2 :(得分:0)
尝试var_dump(array_column($ data,' name'));
答案 3 :(得分:0)
我建议使用以下代码在一次迭代中完成:
$result = [[],[],[]];
array_walk($data, function($item) use (&$result) {
$row = array_values($item);
$result[0][] = $row[0];
$result[1][] = $row[1];
$result[2][] = $row[2];
});
print_r($result);
答案 4 :(得分:0)
将数组格式化为您要查找的内容。代码不关心原始数组中使用的密钥。
array_walk($data, function(&$item) {
$item = array_values($item);
});
答案 5 :(得分:0)
试试这个
foreach ($data as $key => $value) {
$arr[]= array_values($value);
}
print_r($arr);