我正在使用ExpressionEngine网站,我有一个输出排序列表的循环。我想要做的是使用PHP输出三个级别的列表。
/apples/black/rotten
/apples/green/cortland
/apples/green/cortland
/apples/red/granny
/apples/red/granny
/bananas/green/bad
/bananas/green/bad
/bananas/yellow/good
/bananas/yellow/good
/oranges/orange/tasty
/oranges/yellow/small
/oranges/yellow/small
将此转换为嵌套列表的最佳方法是什么?
显然,这是一个用于说明的弥补清单。我已经试图解决这个问题几天了,但没有运气。递归是一种选择。
答案 0 :(得分:0)
$arr = array();
foreach (file(..., FILE_IGNORE_NEW_LINES) as $line)
{
$tmp = explode("/", substr($line, 1));
for ($i=0; $i<=2; $i++)
{
switch ($i)
{
case 0:
if ( ! isset($arr[$tmp[0]]))
{
$arr[$tmp[0]] = array();
}
break;
case 1:
if ( ! isset($arr[$tmp[1]]))
{
$arr[$tmp[0]][$tmp[1]] = $tmp[2];
}
break;
}
}
}
使用文件假设表达式结果存储在文本文件中,
你可以直接迭代,如果已经在数组