I have array
array
0 =>
array
2 => int 50000
1 =>
array
2 => int 30000
2 =>
array
1 => int 25000
3 =>
array
1 => int 20000
4 =>
array
1 => int 10000
I need to create array the result is:
array
2 => int 50000
2 => int 30000
1 => int 25000
1 => int 20000
1 => int 10000
Thank for all. sorry, my english very bad :(
This does what you want (without preserving children keys, since you cannot have multiple elements with the same key):
$flat_array = array_map('current', $array);
Try here: http://codepad.org/1h7mKbqe
PHP doesn't allow arrays to have the same keys. This will show how php will handle a foreach loop wich is rewriting the array into a new one with desired key and value
$array = array(
0 =>
array(
2 => 50000),
1 =>
array(
2 => 30000),
2 =>
array(
1 => 25000),
3 =>
array(
1 => 20000),
4 =>
array(
1 => 10000)
);
$new_array = array();
foreach($array as $data)
{
foreach($data as $key => $val)
{
$new_array[$key] = $val;
}
}
var_dump($new_array);
This will output
array(2) {
[2]=>
int(30000)
[1]=>
int(10000)
}
As you can see keys are overwritten on each loop becuase they are identical and so are values, i think you can use the above function to have a one level array removing keys from $new_array
foreach($data as $key => $val)
{
$new_array[] = $val;
}