数组转换为多维数组 [英] Convert Array to Multidimensional Array
本文介绍了数组转换为多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我喜欢单一阵列转换成一个多维数组。这是我得到的网页有刮页面,但它不是我期待的最终结果。
更改
客房:阵列(
[0] =>名称
[1] =>值
[2] =>尺寸
[3] => &安培; NBSP;
[4] =>名称
[5] =>值
[6] =>尺寸
[7] => &安培; NBSP;
[8] =>名称
[9] =>值
[10] =>尺寸
[11] => &安培; NBSP;
[12] =>名称
[13] =>值
[14] =>尺寸
[15] => &安培; NBSP;
)
进入:
客房:阵列(
客房:阵列(
[0] =>名称
[1] =>值
[2] =>尺寸
)
客房:阵列(
[0] =>名称
[1] =>值
[2] =>尺寸
)
客房:阵列(
[0] =>名称
[1] =>值
[2] =>尺寸
)
)
解决方案
第一次使用的 array_filter()
摆脱&放大器; NBSP;
节点:
$阵列= array_filter($阵列功能($ X){返回修剪($ X)='&放大器; NBSP;';});//或者,如果你的PHP是年龄超过5.3
$阵列= array_filter($阵列,create_function('$ X','回报修剪($ x)=!&放大器; NBSP;'));
然后使用 array_chunk()
到阵列分成三大块:
$阵列= array_chunk($阵列,3);
这当然是假定你永远只有获取包含名称
,值
和尺寸
,按照这个顺序。
I like to convert a single array into a multidimensional array. This is what I get have web scraping a page, except it is not the end result that I am looking for.
Change:
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
)
)
解决方案
First use array_filter()
to get rid of the
nodes:
$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) != " ";'));
Then use array_chunk()
to split the array into chunks of 3:
$array = array_chunk($array, 3);
This of course assumes you will always and only get tuples containing name
, value
and size
, in that order.
这篇关于数组转换为多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文