ly4581405 发表于 2023-3-15 17:33

常用的数组封装方法以数组的某个key为下标

public static function arrayRebuild(array $array, $key)
    {
      $data = array();

      if (empty($array) || empty($key)) {
            return $data;
      }

      foreach ($array as $info) {
            if (isset($info[$key])) {
                $data[$info[$key]] = $info;
            }
      }

      return $data;
    }

    public static function arrayGroup(array $array, $key, array $keepKeyArray = [])
    {
      $data = array();

      if (empty($array) || empty($key)) {
            return $data;
      }

      $keepKeyArray = array_flip($keepKeyArray);

      foreach ($array as $info) {
            if (isset($info[$key])) {
                if (empty($keepKeyArray)) {
                  $data[$info[$key]][] = $info;
                } else {
                  if (count($keepKeyArray) > 1) {
                        $data[$info[$key]][] = array_intersect_key($info, $keepKeyArray);
                  } else {
                        $data[$info[$key]][] = $info;
                  }
                }
            }
      }

      return $data;
    }

jamesAbc 发表于 2023-3-15 19:48

看来php还是最好的语言啊

WuYule 发表于 2023-3-18 10:24

可以在标题加上“php”,点进来发现不认识语法{:1_890:}

ly4581405 发表于 2023-3-20 17:09

WuYule 发表于 2023-3-18 10:24
可以在标题加上“php”,点进来发现不认识语法

没问题 下次加一个
页: [1]
查看完整版本: 常用的数组封装方法以数组的某个key为下标