PHP 从变量构建数组

问题描述 投票:0回答:5

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

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

这可以包含从 1 到 10+ 的任意数量的值

我还有另一个大数组,我们称之为

$tree
。我需要循环
$values
,同时基于
$tree
变量构建数组。

例如:

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

但这需要根据

$values
数组中的元素数量动态完成。

有什么想法吗?

php arrays
5个回答
1
投票

这就是你想要做的吗?

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

1
投票

您需要一个 foreach 循环来处理您拥有的每个值,然后将它们放入 $tree 数组中,如下所示:

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

1
投票

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

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

通过这种方式,您可以深入到 $tree 中,每个值都在 $values 中提供,并且 $result 保存您到达的位置处存储在 $tree 中的值。例如,如果您有一个导航树,$values 将是当前导航位置的“面包屑”,$result 是从该点向下的剩余树。


0
投票

我想这就是你想要的。它遍历

$values
的成对元素,使用它们作为
$tree
的索引来添加到
$newArray

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

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,", "));

您正在寻找类似的东西?

© www.soinside.com 2019 - 2024. All rights reserved.