php常用自定义方法

// 无限极分类 转换成tree结构 
function getTree($list) {
    $tree = [];
    $list = array_column($list, null, 'id');
    foreach($list as $val){
        if(isset($list[$val['pid']])) {
            $list[$val['pid']]['children'][] = &$list[$val['id']];
        } else {
            $tree[] = &$list[$val['id']];
        }
    }
    return $tree;
}

$a = [
	['id' => 1, 'pid' => 0, 'name' => '安徽省', '666' => '111'],
	['id' => 2, 'pid' => 1, 'name' => '合肥市', '666' => '111'],
	['id' => 3, 'pid' => 2, 'name' => '蜀山区', '666' => '111'],
	['id' => 4, 'pid' => 2, 'name' => '经开区', '666' => '111'],

	['id' => 5, 'pid' => 0, 'name' => '河南省', '666' => '111'],
	['id' => 6, 'pid' => 5, 'name' => '开封市', '666' => '111'],
	['id' => 7, 'pid' => 1, 'name' => '六安市', '666' => '111'],
	['id' => 8, 'pid' => 7, 'name' => '裕安区', '666' => '111'],

	['id' => 9, 'pid' => 4, 'name' => '经开区中环城', '666' => '111'],
	['id' => 10, 'pid' => 9, 'name' => '经开区中环城一楼', '666' => '111'],
	['id' => 11, 'pid' => 9, 'name' => '经开区中环城二楼', '666' => '111'],
];

$a = getTree($a);
myPrint($a);
// 身份证 手机号 正则判断
if(!preg_match("/^1[3456789]\d{9}$/", $data)){
    $result['msg'] = '手机号码不正确';
    $this->ajaxReturn($result);
}

if(!preg_match("/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/", $data)){
    $result['msg'] = '身份证号码不正确';
    $this->ajaxReturn($result);
}
// 用习惯的自定义打印方法

function myPrint($data, $var_dump = 0, $is_die = 1)
{
    echo '<pre>';
    if ($var_dump) {
        var_dump($data);
    } else {
        print_r($data);
    }
    if ($is_die) {
    	die;
    }
}

// 常用自定义日志记录方法
if (! function_exists('myLog')) {
    function myLog($data, $name = '')
    {
        $debugInfo = debug_backtrace();// 获取调用者信息
        $callerFile = substr($debugInfo[0]['file']);// 调用者文件信息 有需要自己转换为命名空间+控制器名称
        $callerFileLine = $debugInfo[0]['line'] ?? '0';// 调用行
        $callerFileFunction = $debugInfo[1]['function'] ?? '';// 方法名称
        $caller = $callerFile.':'.$callerFileLine.':'.$callerFileFunction.'()';// 拼接

        $data = is_string($data) ? $data : json_encode($data);

        $dir = '../myLog/'.date('Y-m-d/');
        if (!is_dir($dir)) {
            mkdir($dir, 0777, true);
        }
        if (empty($name)) {
            $name = date('YmdHis').'.log';
        }
        $name = $dir.ltrim($name, '/');

        file_put_contents($name, $caller . PHP_EOL, FILE_APPEND);
        file_put_contents($name, $data . PHP_EOL. PHP_EOL, FILE_APPEND);
        return $name;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值