吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 672|回复: 1
收起左侧

[学习记录] 获取客户端ip 和 多维数组排序封装方法

[复制链接]
ly4581405 发表于 2023-3-15 17:24

public static function getClientIp()
{
//验证HTTP头中是否有REMOTE_ADDR
if (!isset($_SERVER['REMOTE_ADDR'])) { return '127.0.0.1'; } $clientIp = $_SERVER['REMOTE_ADDR'];

    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])
        && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
        foreach ($matches[0] as $xip) {
            if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
                $clientIp = $xip;
                break;
            }
        }
    } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && filter_var($clientIp, FILTER_VALIDATE_IP)) {
        $clientIp = $_SERVER['HTTP_CLIENT_IP'];
    }

    return $clientIp;
}

        public static function multisort(&$arr, $key, int $sort = SORT_ASC)
{
    if (empty($arr)) {
        return $arr;
    }
    if (count($arr) == count($arr, 1)) {
        switch ($sort) {
            case SORT_ASC:
                sort($arr);
                break;
            case SORT_DESC:
                rsort($arr);
                break;
        }
    } else {
        // 多维数组
        $kArr = array_column($arr, $key);
        if (!empty($kArr)) {
            array_multisort($kArr, $sort, $arr);
        }
    }
}

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

lindenjie 发表于 2023-3-16 17:59
谢谢大佬,支持!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 00:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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