php 怎么让下标重新排列

fiy 其他 168

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在 PHP 中,我们可以使用一个函数来重新排列数组的下标,这个函数就是 `array_values()`。下面是使用该函数重新排列数组下标的示例代码:

    “`php
    ‘apple’,
    1 => ‘banana’,
    2 => ‘orange’,
    3 => ‘grape’
    );

    $rearrangedFruits = array_values($fruits);

    print_r($rearrangedFruits);
    ?>
    “`

    上面的代码中,我们有一个包含水果的数组 `$fruits`。我们使用 `array_values()` 函数将原数组的下标重排并赋值给 `$rearrangedFruits` 数组。然后,我们使用 `print_r()` 函数打印出重排后的数组。

    运行上述代码,将会输出以下结果:

    “`
    Array
    (
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
    )
    “`

    可以看到,原数组的下标被重新排列为从 0 开始的连续数字。使用 `array_values()` 函数可以很方便地重新排列数组的下标。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在 PHP 中,可以使用以下几种方法来重新排列数组的下标:

    1. 使用 array_values() 函数:

    array_values() 函数会返回一个新数组,新数组的下标是重新排列的,从0开始递增。

    “`php
    $array = [10 => ‘a’, 5 => ‘b’, 7 => ‘c’];
    $newArray = array_values($array);

    print_r($newArray);
    “`

    输出结果:

    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    2. 使用 array_combine() 函数:

    array_combine() 函数将两个数组合并,并将其中一个数组的下标作为新数组的下标,另一个数组的值作为新数组的值。通过将一个固定值的数组作为参数,可以实现重新排列下标的效果。

    “`php
    $array = [‘a’, ‘b’, ‘c’];
    $newArray = array_combine(range(1, count($array)), $array);

    print_r($newArray);
    “`

    输出结果:

    “`
    Array
    (
    [1] => a
    [2] => b
    [3] => c
    )
    “`

    3. 使用 foreach 循环重新赋值下标:

    通过遍历数组并给新数组赋值,可以实现重新排列下标的效果。

    “`php
    $array = [10 => ‘a’, 5 => ‘b’, 7 => ‘c’];
    $newArray = [];
    $i = 0;

    foreach ($array as $value) {
    $newArray[$i] = $value;
    $i++;
    }

    print_r($newArray);
    “`

    输出结果:

    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    4. 使用 array_values() 和 array_combine() 结合:

    通过先使用 array_values() 函数获取数组的值,再使用 array_combine() 函数将重新排列的下标和值合并,可以实现重新排列下标的效果。

    “`php
    $array = [10 => ‘a’, 5 => ‘b’, 7 => ‘c’];
    $newArray = array_combine(range(0, count($array) – 1), array_values($array));

    print_r($newArray);
    “`

    输出结果:

    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    5. 使用 array_map() 函数:

    array_map() 函数可以将一个或多个数组的值传递给回调函数,并返回一个数组,新数组的下标是重新排列的。

    “`php
    $array = [10 => ‘a’, 5 => ‘b’, 7 => ‘c’];
    $newArray = array_map(function($value) {
    static $i = 0;
    return $value;
    }, $array);

    print_r($newArray);
    “`

    输出结果:

    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要让 PHP 数组的下标重新排列,可以使用以下几种方法:

    1. 使用`array_values()`函数

    `array_values()`函数可以返回一个包含原数组所有值的新数组,新数组的下标将会以连续的整数重新排列。

    使用示例:
    “`php
    $array = [2 => ‘a’, 5 => ‘b’, 1 => ‘c’];
    $newArray = array_values($array);
    print_r($newArray);
    “`

    输出结果:
    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    2. 使用`array_combine()`函数结合`range()`函数

    `array_combine()`函数可以将一个数组的值作为新数组的键名,而`range()`函数可以生成一个包含指定范围的元素的数组。

    使用示例:
    “`php
    $array = [2 => ‘a’, 5 => ‘b’, 1 => ‘c’];
    $newArray = array_combine(range(0, count($array) – 1), $array);
    print_r($newArray);
    “`

    输出结果:
    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    3. 使用`foreach`循环

    借助`foreach`循环遍历原数组,并将值添加到新数组中,新数组的下标将自动重新排列。

    使用示例:
    “`php
    $array = [2 => ‘a’, 5 => ‘b’, 1 => ‘c’];
    $newArray = [];
    foreach ($array as $value) {
    $newArray[] = $value;
    }
    print_r($newArray);
    “`

    输出结果:
    “`
    Array
    (
    [0] => a
    [1] => b
    [2] => c
    )
    “`

    这些方法可以满足不同的需求,选择合适的方法来重新排列 PHP 数组的下标。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部