吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1029|回复: 7
收起左侧

[其他原创] php 封装的数组方法 挺好用的

[复制链接]
ly4581405 发表于 2023-3-14 14:21
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[key($keepKeyArray)];
                }
            }
        }
    }

    return $data;
}

以数组某个下标分组

以数组某个下标分组

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2023-3-14 14:57
请使用板块置顶帖的方式插入代码
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
liujg 发表于 2023-3-14 15:07
[PHP] 纯文本查看 复制代码
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[key($keepKeyArray)];
                }
            }
        }
    }

    return $data;
}
dappeng 发表于 2023-3-14 15:13
whwh033 发表于 2023-3-14 15:42
这代码,,,if 写的  看的脑壳疼
550W 发表于 2023-3-14 17:19
插眼 正好在弄这个
8at08 发表于 2023-3-16 09:23
数组分组吗?
iFinD 发表于 2023-3-17 01:52
有示例可以看一下就更好了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表