php常用自定义方法

二维数组排序

    /**

        * @param unknown $array  要排序的二维数组

        * @param unknown $key    要排序对应的key

        * @param unknown $order  desc降序  asc升序

        * @return unknown  */

        function array_sort($array,$key,$order){

            if (!empty($array)){

                usort($array, function($a,$b)use ($key,$order){

                    if ( $a[$key] < $b[$key] ){

                        return $order=='desc'?1:-1;

                    }elseif ($a[$key]==$b[$key]){

                        return 0;

                    }else{

                        return $order=='desc'?-1:1;

                    }

                });

            }

            return $array;

        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于您的问题,我可以给您提供一些思路和实现方式。 首先,了解一下Base64是什么。Base64是一种常用的编码方式,将二进制数据转换成可打印的ASCII字符,以便在网络传输或存储时使用。Base64编码使用64个字符来表示二进制数据,其中包括大小写字母、数字和两个特殊字符“+”和“/”。具体的编码规则可以参考RFC 4648标准。 在PHP中,可以使用base64_encode()和base64_decode()函数来进行Base64编码和解码。但是,如果您需要自定义Base64编码规则,可以考虑以下方式: 1. 使用strtr()函数替换默认的Base64字符集。strtr()函数可以将字符串中指定的字符替换为其他字符。例如: ``` $base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; $customchars = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM-+'; $data = 'Hello, world!'; $encoded = strtr(base64_encode($data), $base64chars, $customchars); echo $encoded; // 输出: qmXHq3vz7tG ``` 2. 修改base64_encode()函数的实现。可以参考PHP源码中base64_encode()函数的实现,自定义一个编码函数。例如: ``` function custom_base64_encode($data) { $base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; $customchars = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM-+'; $result = ''; $len = strlen($data); $i = 0; while ($i < $len) { $c1 = ord($data[$i++]); $c2 = ($i < $len) ? ord($data[$i++]) : 0; $c3 = ($i < $len) ? ord($data[$i++]) : 0; $enc1 = $base64chars[$c1 >> 2]; $enc2 = $base64chars[(($c1 & 3) << 4) | ($c2 >> 4)]; $enc3 = ($i < $len + 2) ? $customchars[(($c2 & 15) << 2) | ($c3 >> 6)] : '='; $enc4 = ($i < $len + 1) ? $customchars[$c3 & 63] : '='; $result .= $enc1 . $enc2 . $enc3 . $enc4; } return $result; } $data = 'Hello, world!'; $encoded = custom_base64_encode($data); echo $encoded; // 输出: qmXHq3vz7tG ``` 需要注意的是,自定义Base64编码可能会导致与标准Base64编码不兼容,因此在使用时需要考虑兼容性和安全性等问题。 希望这些信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值