博客
关于我
php实现逆转数组
阅读量:793 次
发布时间:2023-03-01

本文共 1202 字,大约阅读时间需要 4 分钟。

PHP数组反转方法:实现数组倒序排列
通过循环遍历数组,可以轻松实现反转数组的功能。以下是具体实现方式:
1. 非交换反转(array_reverse())
该方法通过从数组末尾开始逐步添加元素到结果数组中,实现数组的倒序排列。
```php
public function reverse(array $arr){
$res = [];
$count = count($arr);
$i = $count - 1;
while ($i >= 0) {
$res[] = $arr[$i];
$i--;
}
return $res;
}
  1. 从头开始倒序添加 另一种实现方式是从数组开头开始,倒序添加元素到结果数组中。
  2. public function reverse4(array $arr){
    $res = [];
    $count = count($arr);
    for ($i = 0; $i < $count; $i++) {
    $res[] = $arr[$count - $i - 1];
    }
    return $res;
    }
    1. 交换反转(reverse3) 通过交换数组中对称位置的元素,逐步完成数组的倒序排列。这种方法适用于较大的数组。
    2. public function reverse3(array $arr){
      $count = count($arr);
      $i = 0;
      $mid = ceil($count / 2);
      while ($i < $mid) {
      $tmp = $arr[$i];
      $arr[$i] = $arr[$count - $i - 1];
      $arr[$count - $i - 1] = $tmp;
      $i++;
      }
      return $arr;
      }
      1. 关联数组反转(reverse2) 对于关联数组,可以通过重构键值对的方式实现反转。
      2. public function reverse2(array $arr){
        $res = [];
        foreach ($arr as $key => $value) {
        $res[] = [$key, $value];
        }
        $count = count($res);
        $i = $count - 1;
        $res2 = [];
        while ($i >= 0) {
        $res2[$res[$i][0]] = $res[$i][1];
        $i--;
        }
        return $res2;
        }

         

        ```

转载地址:http://astfk.baihongyu.com/

你可能感兴趣的文章