將xml格式轉(zhuǎn)換為數(shù)組
在我們請求一些第三方接口的時候量淌,要么返回給你json類型的數(shù)據(jù)格式虹茶,要么就是xml或者其他的,如果是json的話,很方便能直接使用急但,當(dāng)遇到xml格式的時候园匹,就需要轉(zhuǎn)換為數(shù)組格式的,方便使用蜀肘。
/**
* 將xml格式轉(zhuǎn)換為數(shù)組
* @param string $xml xml字符串
* @return mixed
*/
function xml_to_array($xml = '')
{
// 利用函數(shù)simplexml_load_string()把xml字符串載入對象中
$obj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
// 編碼對象后酌予,再解碼即可得到數(shù)組
$arr = json_decode(json_encode($obj), true);
return $arr;
}
復(fù)制代碼隱藏手機(jī)號中間四位數(shù)
通常磺箕,為了安全和保護(hù)用戶隱私奖慌,用戶手機(jī)號等關(guān)鍵信息抛虫,是不能完全暴露在界面上公開顯示的,就需要處理一下简僧,比如通常是隱藏中間四位數(shù)……
/**
* 隱藏手機(jī)號中間四位數(shù)為****
* @param string $mobile 正常手機(jī)號
* @return mixed
*/
function replace_phone($mobile = '')
{
$new_mobile = substr_replace($mobile, '****', 3, 4);
return $new_mobile;
}
復(fù)制代碼最簡單的API請求通用返回數(shù)據(jù)格式
這里建椰,我就最簡單的說明一下,一般API請求岛马,最基礎(chǔ)要求返回的數(shù)據(jù)格式棉姐,通常呢,可以細(xì)分為成功返回和失敗返回啦逆,大家可以根據(jù)實際情況處理伞矩,在很多框架中,都有直接封裝好的方法夏志,大家也可以去看看框架里是怎么處理的乃坤。
/**
* 最簡單的Ajax請求返回數(shù)據(jù)格式
* @param string $msg 返回提示信息
* @param int $code 返回標(biāo)識符號
* @param array $data 返回數(shù)據(jù)
*/
function ajax_return($msg = '', $code = 0, $data = [])
{
$return['code'] = $code;
$return['msg'] = $msg;
$return['data'] = $data;
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
}
復(fù)制代碼截取字符串
通常,在一些列表或者固定范圍內(nèi),顯示一定長度的字符串的時候湿诊,如果我們不控制范圍的話狱杰,很可能會導(dǎo)致超出界面顯示,或者溢出顯示厅须,導(dǎo)致頁面布局不美觀等仿畸,這個時候,就需要我們控制顯示字符串的長度朗和,超出部分截取掉……
/**
* 截取字符串错沽,超出部分用省略符號顯示
* @param string $text 待截取字符串
* @param int $length 截取長度,默認(rèn)全部截取
* @param string $rep 截取超出替換的字符串眶拉,默認(rèn)為省略號
* @return string
*/
function cut_string($text = '', $length = 0, $rep = '…')
{
if (!empty($length) && mb_strlen($text, 'utf8') > $length) {
$text = mb_substr($text, 0, $length, 'utf8') . $rep;
}
return $text;
}
復(fù)制代碼根據(jù)生日計算年齡
在一些論壇或者交友類平臺中甥捺,經(jīng)常會看到,某某年齡18歲镀层,如果當(dāng)你遇到這類開發(fā)需求的時候镰禾,是不是也得處理一下,我是個善良的開發(fā)者嘛唱逢,這種事情吴侦,我肯定幫想到了,讓我來就行了坞古,安排上备韧,已經(jīng)寫好了,可以直接拿來用痪枫。
/**
* 根據(jù)生日計算年齡
* @param string $date 生日的年月日
* @return int
*/
function get_age($date = '')
{
$age = 0;
$time = strtotime($date);
// 日期非法织堂,則不處理
if (!$time) {
return $age;
}
// 計算時間年月日差
$date = date('Y-m-d', $time);
list($year, $month, $day) = explode("-", $date);
$age = date("Y", time()) - $year;
$diff_month = date("m") - $month;
$diff_day = date("d") - $day;
// 不滿周歲年齡減1
if ($age < 0 || $diff_month < 0 || $diff_day < 0) {
$age--;
}
return $age;
}
復(fù)制代碼日期時間顯示格式轉(zhuǎn)換
最常見的,我們每天刷微信朋友圈的生活奶陈,左下角的那個時間易阳,比如:10分鐘前、2小時前吃粒、昨天等潦俺,你是否也遇到過這類的時間顯示轉(zhuǎn)換的需求,這類開發(fā)需求找我啊徐勃,我都給安排好了事示,拿來即用的那種哦……
/**
* 日期時間顯示格式轉(zhuǎn)換
* @param int $time 時間戳
* @return bool|string
*/
function transfer_show_time($time = 0)
{
// 時間顯示格式
$day_time = date("m-d H:i", $time);
$hour_time = date("H:i", $time);
// 時間差
$diff_time = time() - $time;
$date = $day_time;
if ($diff_time < 60) {
$date = '剛剛';
} else if ($diff_time < 60 * 60) {
$min = floor($diff_time / 60);
$date = $min . '分鐘前';
} else if ($diff_time < 60 * 60 * 24) {
$h = floor($diff_time / (60 * 60));
$date = $h . '小時前 ' . $hour_time;
} else if ($diff_time < 60 * 60 * 24 * 3) {
$day = floor($diff_time / (60 * 60 * 24));
if ($day == 1) {
$date = '昨天 ' . $day_time;
} else {
$date = '前天 ' . $day_time;
}
}
return $date;
}
復(fù)制代碼獲取毫秒數(shù)
日常開發(fā)中,我們一般都是通過time()直接獲取時間戳秒數(shù)僻肖,很少會遇到獲取毫秒數(shù)的需求肖爵,但是呢,有備無患臀脏,萬一啥時候一個坑比需求有這個要求呢劝堪,那怎么也得滿足吧法挨,作為一個職業(yè)的開發(fā)者,一般都是有求必應(yīng)的……
/**
* 獲取毫秒數(shù)
* @return string
*/
function get_millisecond()
{
list($t1, $t2) = explode(' ', microtime());
$ms = sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
return $ms;
}
復(fù)制代碼CURL請求之GET方式
通常幅聘,我們都會遇到需要請求第三方接口的凡纳,而且一般也都會封裝自己的接口請求方法,大同小異帝蒿,這是最基礎(chǔ)的GET請求封裝
/**
* CURL請求之GET方式
* @param string $url 請求接口地址
* @return bool|mixed
*/
function curl_get($url = '')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 不驗證SSL證書荐糜。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
復(fù)制代碼CURL請求之POST方式
很多第三方接口,一般都是POST方式的比較多葛超,所以暴氏,我也給大家封裝了一個基礎(chǔ)的請求方法,大家可以根據(jù)自己的實際情況绣张,進(jìn)行修改和完善答渔。
/**
* CURL請求之POST方式
* @param string $url 請求接口地址
* @param array $data 請求參數(shù)
* @param int $timeout 超時時間
* @return mixed
*/
function curl_post($url = '', $data = [], $timeout = 3000)
{
$post_data = http_build_query($data, '', '&');
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);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
php自定義函數(shù)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者侥涵。
- 文/潘曉璐 我一進(jìn)店門奔浅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诗良,你說我怎么就攤上這事汹桦。” “怎么了累榜?”我有些...
- 文/不壞的土叔 我叫張陵营勤,是天一觀的道長灵嫌。 經(jīng)常有香客問我壹罚,道長,這世上最難降的妖魔是什么寿羞? 我笑而不...
- 正文 為了忘掉前任猖凛,我火速辦了婚禮,結(jié)果婚禮上绪穆,老公的妹妹穿的比我還像新娘辨泳。我一直安慰自己虱岂,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布菠红。 她就那樣靜靜地躺著第岖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪试溯。 梳的紋絲不亂的頭發(fā)上蔑滓,一...
- 文/蒼蘭香墨 我猛地睜開眼付鹿,長吁一口氣:“原來是場噩夢啊……” “哼澜汤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舵匾,我...
- 正文 年R本政府宣布,位于F島的核電站淋肾,受9級特大地震影響硫麻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜樊卓,卻給世界環(huán)境...
- 文/蒙蒙 一拿愧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碌尔,春花似錦浇辜、人聲如沸券敌。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽待诅。三九已至,卻和暖如春熊镣,著一層夾襖步出監(jiān)牢的瞬間咱士,已是汗流浹背。 一陣腳步聲響...