$array = ['10', "[1,2,3]", "[1,['4','5','6'],3]"];
function flat($array, &$return) {
if (is_array($array)) {
array_walk_recursive($array, function($a) use (&$return) { flat($a, $return); });
} else if (is_string($array) && stripos($array, '[') !== false) {
$array = explode(',', trim($array, "[]"));
flat($array, $return);
} else {
$return[] = $array;
}
}
$return = array();
flat($array, $return);
print_r($return);
ВЫХОД
Array ( [0] => 10 [1] => 1 [2] => 2 [3] => 3 [4] => 1 [5] => '4' [6] => '5' [7] => '6'] [8] => 3 )