PHP从变量构建数组

时间:2013-12-10 18:20:32

标签: php arrays

所以我有一个我爆炸的变量:

$values = explode ('|', $split);

这可以包含1到10 +

之间的任意数量的值

我有另一个大数组让我们称之为$tree。我需要循环$values,同时根据$tree变量构建一个数组。

E.g:

$newArray = $tree [$values [0]][$values [1]];

但这需要根据$values数组中的元素数量动态完成。

有什么想法吗?

由于

5 个答案:

答案 0 :(得分:1)

这是你想要做的吗?

$newArray = array();
foreach($values as $key => $val)
{
    $newArray[] = $tree[$val][$values[$key + 1]];
}

答案 1 :(得分:1)

你需要一个foreach循环,它遍历你拥有的每一个值,然后将它们放在$ tree数组中,如:

$newArray = array();
foreach($values as $index => $value)
{
    $newArray[] = $tree[$value][$value[$index + 1]];
}

答案 2 :(得分:1)

从$ tree创建一个临时数组,并遍历获取每个索引的值:

$result = $tree;
foreach ($values as $val){
    $result = $result[$val];
}

这样你可以在$ tree中更深入到$ tree,每个值都以$ values提供,$ result保存在$ tree中存储的值。例如,如果你有一个导航树,$ values将是当前导航位置的“breadcrumb”,$ result是从这一点向下的剩余树。

答案 3 :(得分:0)

我认为这就是你想要的。它遍历$values的元素对,使用它们作为$tree的索引添加到$newArray

$newArray = array();
for ($i = 0; $i < count(values); $i += 2) {
    $newArray[] = $tree[$values[$i]][$values[$i+1]];
}

答案 4 :(得分:0)

$values=array(0, 1, 3);
$tree=array("First", "Second", "Third", "Fourth");
$newarray=array();

for ($i=0; $i<count($values); $i++)
{
    $newarray[]=$tree[$values[$i]];
}

echo(implode($newarray,", "));

你想要的是什么?