-3

Sometimes, when I fetch something, I get the following array:

Array (
    [0] => Array (
        [0] => 3803
    )
    [1] => Array (
        [0] => 3855
    )
    [2] => Array (
        [0] => 3855
    )
    [3] => Array (
        [0] => 3855
    )
    [4] => Array (
        [0] => 3856
    )
)

But, what I actually need is:

Array ( [0] => 3803 [1] => 3855 [2] => 3855 [3] => 3855 [4] => 3856 )

So, I do this:

$new_array = array();

foreach ($array as $data)
{
    array_push($new_array,$data[0]);
}   

I'm not sure, if there is a better way. Maybe without making a new array?

Thanks for your thoughts!

FirstOne
  • 6,033
  • 7
  • 26
  • 45
Nebukarr
  • 1
  • 1

3 Answers3

0

Try this:

$new_array = array();

foreach ($array as $key => $value) {
    array_push($new_array,$value);
}  
Jay Welsh
  • 496
  • 4
  • 10
0

Try to use array_merge() like,

$new_array = array();    
foreach ($array as $data)
{    
    $new_array = array_merge($new_array,$data);
} 
Rohan Kumar
  • 40,431
  • 11
  • 76
  • 106
0

This is the shortest way. Try this:

$array = array(
    array("3803"),
    array("3855"),
    array("3855"),
    array("3855"),
    array("3856")
);

$result = call_user_func_array('array_merge', $array);

Output:

Array
(
 [0] => 3803
 [1] => 3855
 [2] => 3855
 [3] => 3855
 [4] => 3856
)
Indrasis Datta
  • 8,692
  • 2
  • 14
  • 32