<?php
function array_flatten($array = null) {
$result = array();
if (!is_array($array)) {
$array = func_get_args();
}
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, array_flatten($value));
} else {
$result = array_merge($result, array($key => $value));
}
}
return $result;
}
$myarray = array('a', ['bla' => 0], 'b',[0,1], [0=>7], array(array(array('x'), 'y', 'z')), array(array('p')));
$res = array_flatten($myarray);
var_dump( $res);
$string_res = array_flatten( 'cramp' );
var_dump( $string_res );
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- array(10) {
[0]=>
string(1) "a"
["bla"]=>
int(0)
[1]=>
string(1) "b"
[2]=>
int(0)
[3]=>
int(1)
[4]=>
int(7)
[5]=>
string(1) "x"
[6]=>
string(1) "y"
[7]=>
string(1) "z"
[8]=>
string(1) "p"
}
array(1) {
[0]=>
string(5) "cramp"
}
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
array(10) {
[0]=>
string(1) "a"
["bla"]=>
int(0)
[1]=>
string(1) "b"
[2]=>
int(0)
[3]=>
int(1)
[4]=>
int(7)
[5]=>
string(1) "x"
[6]=>
string(1) "y"
[7]=>
string(1) "z"
[8]=>
string(1) "p"
}
array(1) {
[0]=>
string(5) "cramp"
}
preferences:
263.44 ms | 402 KiB | 223 Q