将数组转换为多维数组

5

我希望将一个单一的数组转换成为一个多维数组。这是我从网页爬取数据得到的结果,但不是我想要的最终结果。

更改为:

Rooms: Array (
  [0] => name 
  [1] => value 
  [2] => size
  [3] =>  
  [4] => name 
  [5] => value 
  [6] => size
  [7] =>      
  [8] => name 
  [9] => value 
  [10] => size
  [11] =>  
  [12] => name 
  [13] => value 
  [14] => size
  [15] =>  
)

Into:

Rooms: Array (
  Room: Array (
    [0] => name 
    [1] => value 
    [2] => size
  ),
  Room: Array (
    [0] => name 
    [1] => value 
    [2] => size
  ),
  Room: Array (
    [0] => name 
    [1] => value 
    [2] => size
  )
)
1个回答

6

首先使用array_filter()来去除 节点:

$array = array_filter($array, function($x) { return trim($x) != ' '; });

// Or if your PHP is older than 5.3
$array = array_filter($array, create_function('$x', 'return trim($x) != " ";'));

然后使用array_chunk()将数组分成大小为3的块:

$array = array_chunk($array, 3);

当然,这假设你总是且只会得到包含namevaluesize的元组,而且顺序都是一致的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接