我有这个数组:
array(
(int) 0 => array(
'region_id' => array(
(int) 0 => '19'
(int) 1 => '23'
)
)
)
我想转换它,在:
array(
(int) 0 => array(
'region_id' => '19'
),
(int) 1 => array(
'region_id' => '23'
),
)
我读到cakephp中有一个魔法类(哈希)。
我可以用它来转换数组吗?还是我必须手动完成?
答案 0 :(得分:1)
一个很好的起点是
$foo = array(
0 => array(
'region_id' => array(
0 => 19,
1 => 23
)
)
);
debug(Hash::extract($foo, '{n}.region_id.{n}'));
返回
array(
(int) 0 => (int) 19,
(int) 1 => (int) 23
);
您的下一个工作是重命名数组键。
答案 1 :(得分:0)
这是您需要的结果,但是我使用了蛋糕哈希和手动PHP功能:
愿你这样:
$result = Hash::extract($foo, '{n}.region_id.{n}');
$result = array_chunk($result,1);
$required_result = array();
foreach($result as $k => $v){
foreach($v as $k1 => $v1){
$required_result[$k]['region_id'] = $v1;
}
}
pr($required_result);exit;