2012-01-06 34 views
22

Eventuali duplicati:
Turning multidimensional array into one-dimensional arrayCome convertire matrice bidimensionale ad una matrice bidimensionale in PHP5

ho questo tipo di una matrice

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

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

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

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

) 

ho bisogno di convertirlo in un array monodimensionale. Come lo posso fare?

Ad esempio come questo ..

Array 
(
    [0] => 88868 

    [1] => 88867 

    [2] => 88869 

    [3] => 88870 

) 

Qualsiasi php costruito nel funzionalità è disponibile per questa conversione array?

risposta

80

Per il vostro caso un uso limitato, questo lo farà:

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

Questo può essere generalizzato per quando i sottoarray hanno molte voci a questo:

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

Non capisco 'corrente'. Vedo su callback doc php callable $, ma per esempio non vedo la funzione o il codice per questo. Io apprezzo un certo esempio. – abkrim

+2

La funzione @abkrim current() restituisce il valore dell'elemento corrente in una matrice. per esempio: $ fruits = array ("banana", "apple", "orange"); corrente di eco ($ frutti) // restituirà "banana" poiché il puntatore corrente è sull'indice 0 che è banana. –

1

prova:

$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]; 
} 
Problemi correlati