$test = 'test1/test2/test3/test4';
我正在尝试从上面的$test
获取一个数组,我想输出如下所示。
Array
(
[0] => /
[1] => /test1/
[2] => /test1/test2/
[3] => /test1/test2/test3/
[4] => /test1/test2/test3/test4/
)
我已经尝试过循环,但无法弄清楚如何使它完全正确。
答案 0 :(得分:1)
尝试循环:
$test = 'test1/test2/test3/test4';
$test_arr = explode("/", $test);
$test_size = count($test_arr);
$count = 1;
$new_test_arr = array('/');
for ($i=0; $i<$test_size; $i++)
{
$new_test_arr[$count] = $new_test_arr[$i] . $test_arr[$i] . "/"
$count++;
}
答案 1 :(得分:0)
这种情况非常简单明了
$test = 'test1/test2/test3/test4';
$arr = explode("/", $test);
$t = "";
$newArray = array("/");
foreach($arr as $value) {
$t .= "/".$value;
$newArray[] = $t;
}
print_r($newArray);
答案 2 :(得分:0)
这是一种非常紧凑的方式:
$parts = explode("/", $test);
for($i = 0; $i <= count($parts); ++$i) {
echo "/".implode("/", array_slice($parts, 0, $i))."\n";
}
效率不是很高,但我认为效率并不重要,只会做一次微不足道的事情。从好的方面来说,循环不会修改变量,这样可以更容易推理。
<强> See it in action 强>