【发布时间】:2016-07-10 04:34:02
【问题描述】:
我有一个数组,其中第一项是类别的键,第二项是该类别的名称,第三项是子类别的键,第四项是其名称,第五项是子类别的键...我'想将数据存储到一个新数组中,其中键将携带层次结构。因此它看起来像这样:
$dat[$ar[1]] = $ar[2];
$dat[$ar[1]][$ar[3]] = $ar[4];
$dat[$ar[1]][$ar[3]][$ar[5]] = $ar[6];
$dat[$ar[1]][$ar[3]][$ar[5]][$ar[7]] = $ar[8];
etc.
$ar 的项目数和 $dat 的深度是固定的。如何编写for循环来实现上述行为?
【问题讨论】:
-
您能否提供一些示例输入数据和一些预期的输出数据?
-
您的
$ar是从0 开始的标量数组,而不是从1 开始的吗?还是一个实际的关联数组?是不是应该像$ar = array('color','blue','type','plant','flower','tulip')或者更像$ar = array('1' => 'color', '2' => 'blue', '3' => 'blue', '4' => 'plant', '5' => 'plant', '6' => 'flower', '7' => 'flower', '8' => tulip') -
数组是从索引 1 开始的标量数组
标签: php arrays for-loop multidimensional-array