// 无限极分类 转换成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;
}
}