我有一个简单的多维数组:
$carousels = array(
array(cols=>4, visible=>"visible-lg"),
array(cols=>4, visible=>"visible-md"),
array(cols=>3, visible=>"visible-sm"),
array(cols=>3, visible=>"visible-xs")
);
我应该如何组合任何“cols”相同的行?
我想结束以下内容:
$carousels = array(
array(cols=>4, visible=>"visible-lg visible-md"),
array(cols=>3, visible=>"visible-sm visible-xs")
);
所以“可见”键被合并,“cols”键保持不变。我想我需要遍历数组并输出到另一个“合并”数组,但有更好的方法吗?
这是我到目前为止所拥有的
function searchForKey($key, $arr) {
foreach ($arr as $k => $v) {
if ($v['cols'] === $key) {
return $k;
}
}
return null;
}
function mergeRows( $arr ) {
$result = array();
foreach( $arr as $k => $v ) {
$key = searchForKey($v['cols'], $result);
if ($key !== null) {
$result[$key]['visible'] .= " ".$v['visible'];
} else {
$result[] = $v;
}
}
return $result;
}