我必须将第一个数组转换为第二个数组, 以数组的形式(id => data)。 我在做
Set::combine($array, '{n}.{n}.id', '{n}.{n}');
但它没有用。请告诉我这个或者应该怎么做错了。
数组1:
Array
(
[0] => Array
(
[0] => Array
(
[id] => 1
[user_id] => 1
[group_id] => 7
[comment] => Comment 1.
)
[1] => Array
(
[id] => 3
[user_id] => 4
[group_id] => 8
[comment] => Comment 4
)
)
ARRAY2:
Array(
[1] => Array
(
[id] => 1
[user_id] => 1
[group_id] => 7
[comment] => Comment 1.
)
[3] => Array
(
[id] => 3
[user_id] => 4
[group_id] => 8
[comment] => Comment 4
)
)
答案 0 :(得分:4)
由于Set::combine()
严重使用Set::extract()
,我认为目前在没有一些解决方法的情况下可以使用多个数字维度。
Set::combine( $array[0], '{n}.id', '{n}' );
将有效。
如果您有多个维度要循环使用,请使用以下内容:
$combined = array();
foreach ( $array as $val) {
$combined = array_merge( $combined, $val );
}
$combined = Set::combine( $combined, '{n}.id', '{n}' );