打印函数
function dd ( $data )
{
$str = '' ;
if ( is_bool ( $data ) ) {
$show_data = $data ? 'true' : 'false' ;
} elseif ( is_null ( $data ) ) {
$show_data = 'null' ;
} else {
$show_data = "<pre style=\"background: #000; color: #ccc; font: 16px 'Consolas'; text-align: left; width: 90%; padding: 5px\">\n" ;
$show_data . = print_r ( $data , true ) ;
$show_data . = "</pre>\n" ;
$show_data = print_r ( $show_data , true ) ;
}
$str . = $show_data ;
$str . = '' ;
echo $str ;
}
无限极分类查找下级(递归)
function getTree ( $array , $pid = 0 , $level = 0 ) {
static $list = [ ] ;
foreach ( $array as $key = > $value ) {
if ( $value [ 'pid' ] == $pid ) {
$value [ 'level' ] = $level ;
$list [ ] = $value ;
unset ( $array [ $key ] ) ;
getTree ( $array , $value [ 'id' ] , $level + 1 ) ;
}
}
return $list ;
}
$array = getTree ( $array ) ;
foreach ( $array as $value ) {
echo str_repeat ( '--' , $value [ 'level' ] ) , $value [ 'name' ] . '<br />' ;
}
无限极分类查找下级(引用)
function generateTree ( $array ) {
$items = array ( ) ;
foreach ( $array as $value ) {
$items [ $value [ 'id' ] ] = $value ;
}
$tree = array ( ) ;
foreach ( $items as $key = > $value ) {
if ( isset ( $items [ $item [ 'pid' ] ] ) ) {
$items [ $item [ 'pid' ] ] [ 'son' ] [ ] = & $items [ $key ] ;
} else {
$tree [ ] = & $items [ $key ] ;
}
}
return $tree ;
}
字符串替换封装
function PassStart ( $str , $start , $end = 0 , $dot = "*" , $charset = "UTF-8" ) {
$len = mb_strlen ( $str , $charset ) ;
if ( $start == 0 || $start > $len ) {
$start = 1 ;
}
if ( $end != 0 && $end > $len ) {
$end = $len - 2 ;
}
$endStart = $len - $end ;
$top = mb_substr ( $str , 0 , $start , $charset ) ;
$bottom = "" ;
if ( $endStart > 0 ) {
$bottom = mb_substr ( $str , $endStart , $end , $charset ) ;
}
$len = $len - mb_strlen ( $top , $charset ) ;
$len = $len - mb_strlen ( $bottom , $charset ) ;
$newStr = $top ;
for ( $i = 0 ; $i < $len ; $i ++ ) {
$newStr . = $dot ;
}
$newStr . = $bottom ;
return $newStr ;
}
PassStart ( "" , 4 , 4 ) ;
API返回值
function return_msg ( $code , $msg = '' , $data = [ ] ) {
$return_data [ 'code' ] = $code ;
$return_data [ 'msg' ] = $msg ;
$return_data [ 'data' ] = $data ;
echo json_encode ( $return_data , JSON_UNESCAPED_UNICODE ) ;
die ;
}
CURL之POST请求
function post ( $url , $post_data = '' , $timeout = 3000 )
{
header ( "Content-type:text/html;charset=utf-8" ) ;
$ch = curl_init ( ) ;
curl_setopt ( $ch , CURLOPT_URL , $url ) ;
curl_setopt ( $ch , CURLOPT_POST , 1 ) ;
curl_setopt ( $ch , CURLOPT_POSTFIELDS , $post_data ) ;
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT , $timeout ) ;
curl_setopt ( $ch , CURLOPT_HEADER , false ) ;
$file_contents = curl_exec ( $ch ) ;
curl_close ( $ch ) ;
if ( $content ) {
return $file_contents ;
} else {
return false ;
}
}
CURL之GET请求
function _curl_post ( $url , $data = '' , $timeout = 3000 ) {
header ( "Content-type:text/html;charset=utf-8" ) ;
$ch = curl_init ( ) ;
curl_setopt ( $ch , CURLOPT_URL , $url ) ;
curl_setopt ( $ch , CURLOPT_HEADER , false ) ;
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT , $timeout ) ;
if ( strlen ( $url ) > 5 && strtolower ( substr ( $url , 0 , 5 ) ) == "https" )
{
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER , false ) ;
curl_setopt ( $ch , CURLOPT_SSL_VERIFYHOST , false ) ;
}
if ( ! empty ( $post_data ) ) {
curl_setopt ( $ch , CURLOPT_POST , 1 ) ;
curl_setopt ( $ch , CURLOPT_POSTFIELDS , $data ) ;
}
$data = curl_exec ( $ch ) ;
curl_close ( $ch ) ;
$content = iconv ( 'gb2312' , 'utf-8//IGNORE' , $data ) ;
if ( $content )
return $content ;
else
return false ;
}
生成随机字符串
function generate_rand ( $l ) {
$c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ;
srand ( ( double) microtime ( ) * 1000000 ) ;
for ( $i = 0 ; $i < $l ; $i ++ ) {
$rand . = $c [ rand ( ) % strlen ( $c ) ] ;
}
return $rand ;
}
邮箱验证
function is_valid_email ( $email , $test_mx = false )
{
if ( eregi ( "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$" , $email ) )
if ( $test_mx )
{
list ( $username , $domain ) = split ( "@" , $email ) ;
return getmxrr ( $domain , $mxrecords ) ;
}
else
return true ;
else
return false ;
}
根据生日计算年龄
function age ( $date ) {
$year_diff = '' ;
$time = strtotime ( $date ) ;
if ( FALSE === $time ) {
return '' ;
}
$date = date ( 'Y-m-d' , $time ) ;
list ( $year , $month , $day ) = explode ( "-" , $date ) ;
$year_diff = date ( "Y" ) – $year ;
$month_diff = date ( "m" ) – $month ;
$day_diff = date ( "d" ) – $day ;
if ( $day_diff < 0 || $month_diff < 0 ) $year_diff –;
return $year_diff ;
}