2012-01-06 55 views
22

thể trùng lặp:
Turning multidimensional array into one-dimensional arrayLàm thế nào để chuyển đổi hai mảng chiều để một mảng chiều trong php5

tôi có loại một mảng

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

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

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

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

) 

tôi cần phải chuyển đổi mảng này thành mảng một chiều. Làm thế nào tôi có thể làm điều đó?

Ví dụ như thế này ..

Array 
(
    [0] => 88868 

    [1] => 88867 

    [2] => 88869 

    [3] => 88870 

) 

Bất kỳ php xây dựng trong chức năng có sẵn để chuyển đổi mảng này?

Trả lời

80

Đối với trường hợp sử dụng hạn chế của bạn, điều này sẽ làm điều đó:

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

Điều này có thể tổng quát hơn cho khi subarrays có nhiều mục như sau:

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

Tôi không hiểu 'hiện tại'. Tôi thấy trên doc php callable callback $, nhưng trên ví dụ không thấy chức năng hoặc mã cho việc này. Tôi đưa ra một số ví dụ. Hàm – abkrim

+2

@abkrim current() trả về giá trị của phần tử hiện tại trong một mảng. ví dụ: $ fruits = array ("chuối", "táo", "màu cam"); dòng echo ($ fruits) // sẽ trả về "chuối" vì con trỏ hiện tại nằm trên chỉ số 0 là chuối. –

1

thử:

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

Chức năng PHP array_merge­Docs có thể san bằng mảng của bạn:

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

Trong trường hợp mảng ban đầu có độ sâu cao hơn 2 l evels, SPL trong PHP có RecursiveArrayIterator bạn có thể sử dụng để làm phẳng nó:

$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0); 

Xem cũng như:Turning multidimensional array into one-dimensional array

Các vấn đề liên quan