显然,我知道如何使用循环来实现这一点,但我不知道是否有一条可以将其转化为这样的代码:
a/b/c/d转到
[a, a/b, a/b/c, a/b/c/d]发布于 2016-06-06 16:50:38
不是一条直线,但您可以使用reduce来完成这一任务。
$arr = array_reduce(explode('/', 'a/b/c/d'), function($accumulator, $char) {
    $prev = empty($accumulator) ? '' : $accumulator[count($accumulator)-1] . '/';
    $accumulator[] = $prev.$char;
    return $accumulator;
}, []);发布于 2016-06-06 16:31:40
在闭包中有一个分号,所以我想从技术上讲,它是一个两行线。
echo json_encode(array_map(function($val,&$accumulator){return $accumulator=$accumulator.$val; },explode('/','a/b/c/d'),array()));这方面的结果:
["a","ab","abc","abcd"]https://stackoverflow.com/questions/37662471
复制相似问题