-1

Sorry for asking this silly question here. I am very new to PHP language. I am trying to know how can i convert the array.
I want to convert this array to single array like.

Convert this :-

Array ( [0] => user ) 
Array ( [0] => user1 ) 
Array ( [0] => user2 ) 
Array ( [0] => user3 ) 
Array ( [0] => user8 ) 
Array ( [0] => user7 ) 
Array ( [0] => user6 )

Convert To :-

Array("user", "user1", "user2", "user3", "user4", "user5", "user6");
webprogrammer
  • 2,393
  • 3
  • 21
  • 27
JSLearner
  • 3
  • 5
  • 3
    See [`array_merge()`](https://www.php.net/manual/en/function.array-merge.php) – Alex Howansky Feb 17 '20 at 21:14
  • Actually i am fetching it from database using mysqli_fetch_array() function. Array i receive is in the format Array ( [0] => user ) Array ( [0] => user1 ) Array ( [0] => user2 ) Array ( [0] => user3 ) Array ( [0] => user8 ) Array ( [0] => user7 ) Array ( [0] => user6 ) – JSLearner Feb 17 '20 at 21:19
  • 1
    Does this answer your question? [How to convert two dimensional array to one dimensional array in php5](https://stackoverflow.com/questions/8754980/how-to-convert-two-dimensional-array-to-one-dimensional-array-in-php5) – Ahmad Feb 17 '20 at 21:36

4 Answers4

1

To "Merge" multiple arrays into one, you can use array_merge()

A good example would be:

$array_1 = array('user'); 
$array_2 = array('user1'); 
$array_3 = array('user2'); 
$combined_array = array_merge($array1,$array_2,$array_3); 
var_dump($combined_array); 
1

Something like this should do:

while($row = $result->fetch_array(MYSQLI_NUM)) {
    $users[] = $row[0];
}
Progrock
  • 7,373
  • 1
  • 19
  • 25
0

Another alternative, aside from array_merge, for the case of an arbitrary number of subarrays, you could use array_reduce and build your final array:

$inArray = [['user'],['user1'],['user2'],['user3'],['user8'],['user7'],['user6']];

$inArray = array_reduce($inArray, function($arr, $elem){
    $arr[] = $elem[0];
    return $arr;
});

Of course, the straightforward solution would be to use array_merge:

$inArray = array_merge(...$inArray);
Vasilis G.
  • 7,556
  • 4
  • 19
  • 29
0

Pack or collect all arrays into a parent array. Then you only need to pass an array as a parameter when calling array_merge. Update: it is better to use array_column.

$arr  = [];
$arr[] = array('user');
$arr[] = array('user1'); 
$arr[] = array('user2');

$one_dim_array = array_merge(...$arr);

//or better
$one_dim_array =  array_column($arr,0);

echo "<pre>".var_export($one_dim_array, true);

Result:

array (
  0 => 'user',
  1 => 'user1',
  2 => 'user2',
) 

Try it yourself : Sandbox

jspit
  • 7,276
  • 1
  • 9
  • 17