php常用自定义小方法

收集了下常用的自定义方法:

1.写文件日志

$this->logs(json_encode($all_store_array));

private function logs($str)
    {
        $filename="store_".date("Ymd").".log";
        if (!file_exists(LOG_PATH)) {
            mkdir(LOG_PATH,0777,true);
        }
        $handle = fopen ( LOG_PATH.$filename, 'a+' );
        fwrite ( $handle, $str."\n" );
        fclose ( $handle );
    }

2.二维数组排序
private static function _array_sort($arr,$keys,$type='asc'){
        $keysvalue = $return_array = array();
        foreach ($arr as $k=>$v){
            $keysvalue[$k] = $v[$keys];
        }
        if($type == 'asc'){
            asort($keysvalue);
        }else{
            arsort($keysvalue);
        }
        reset($keysvalue);
        foreach ($keysvalue as $k=>$v){
            $return_array[$k] = $arr[$k];
        }
        return $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、付费专栏及课程。

余额充值