Не уверен, что есть встроенная функция, но это может быть тем, что вы хотите.
<code><?php
$arr = array(1,2,2,2,3);
function arrayKeyJoin( $arr ) {
$newArr = array();
foreach ( $arr as $item ) {
if ( !in_array( $item, array_keys($newArr) ) ) {
$newArr[$item] = array();
}
array_push( $newArr[$item], $item );
}
return $newArr;
}
echo '<pre>', var_dump( arrayKeyJoin( $arr ) ), '
';
Выход:
array(3) {
[1]=>
array(1) {
[0]=>
int(1)
}
[2]=>
array(3) {
[0]=>
int(2)
[1]=>
int(2)
[2]=>
int(2)
}
[3]=>
array(1) {
[0]=>
int(3)
}
}