2012-01-06 84 views
22

Duplicar posible:
Turning multidimensional array into one-dimensional arrayCómo convertir matriz bidimensional a una matriz unidimensional en php5

tengo este tipo de una matriz

Array 
(
    [0] => Array 
     (
      [0] => 88868 
     ) 

    [1] => Array 
     (
      [0] => 88867 
     ) 

    [2] => Array 
     (
      [0] => 88869 
     ) 

    [3] => Array 
     (
      [0] => 88870 
     ) 

) 

Necesito conviértalo a una matriz unidimensional. ¿Cómo puedo hacer eso?

Por ejemplo como este ..

Array 
(
    [0] => 88868 

    [1] => 88867 

    [2] => 88869 

    [3] => 88870 

) 

Cualquier php construido en la funcionalidad está disponible para esta conversión matriz?

Respuesta

80

para su caso de uso limitado, esto lo hará:

$oneDimensionalArray = array_map('current', $twoDimensionalArray); 

Esto puede ser más generalizada para cuando los subconjuntos tienen muchas entradas a esto:

$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray); 
+0

no entiendo 'actual'. Veo doc php callable $ callback, pero en este ejemplo no veo la función o el código para esto. Aprecio un poco de ejemplo. – abkrim

+2

@abkrim función current() devuelve el valor del elemento actual en una matriz. por ejemplo: $ fruits = array ("banana", "apple", "orange"); echo current ($ fruits) // devolverá "banana" ya que el puntero actual está en el índice 0, que es banana. –

1

intento:

$new_array = array(); 
foreach($big_array as $array) 
{ 
    foreach($array as $val) 
    { 
     array_push($new_array, $val); 
    }  
} 

print_r($new_array); 
2
$oneDim = array(); 
foreach($twoDim as $i) { 
    $oneDim[] = $i[0]; 
} 
Cuestiones relacionadas