如何在 PHP 中创建顺序数组

超车

我想创建一个函数来生成一个如下所示的数组:

$arr = [
    'file1',
    'file2',
    'file3',
    'file4',
    'file5',
];

我知道我可以创建一个像这样的简单循环:

$arr = [];
for( $i = 1; $i <= 5; $i ++ ){
    $arr[] = 'file' . $i;
}

但想法是给出参数$text = file,$start = 1$elements = 5optional $step = 1并使用内置的php函数来实现它。我尝试了类似的东西

$arr = array_merge( array_fill( 0, 5, 'file' ), range( 1, 5, 1 ) );

但从我得到的那个

$arr = [
    "file",
    "file",
    "file",
    "file",
    "file",
    0,
    1,
    2,
    3,
    4,
    5,
];
米克马库萨

您可以使用参数选择功能样式或经典循环方法。我使用相同的方程来确定范围的结束——以便生成正确数量的元素。演示

function map(
    $text = 'file',
    $elements = 5,
    $start = 1,
    $step = 1
) {
    $end = $start + $elements * $step - 1;
    return array_map(
        fn($i) => $text . $i,
        range($start, $end, $step)
    );
}

或者

function loop(
    $text = 'file',
    $elements = 5,
    $start = 1,
    $step = 1
) {
    $result = [];
    $end = $start + $elements * $step - 1;
    while ($start <= $end) {
        $result[] = $text . $start;
        $start += $step;
    }
    return $result;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章