PHP中一些可用的方法
生活随笔
收集整理的這篇文章主要介紹了
PHP中一些可用的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//數組編碼轉換函數
/*return Array$in_charset原字符串編碼$out_charset輸出字符串編碼$arr傳入的數組*/function array_iconv($in_charset,$out_charset,$arr){ ??eval('$resArr = '.iconv($in_charset,$out_charset."//IGNORE",var_export($arr,true)).' ;');return $resArr; }//二維數組排序函數
/*$arr輸入的二位數組$keys需要排序的字段$mode是否保持原來的鍵名,keep為保持、nokeep為重新建立$type排序方式 asc為升序。desc為降序*/function array_sort($arr,$keys,$mode='nokeep',$type='asc'){ ??$keysvalue = $new_array = array();foreach ($arr as $k=>$v){$keysvalue[$k] = iconv('UTF-8', 'GB2312',$v[$keys]);}if($type == 'asc'){asort($keysvalue);}else{arsort($keysvalue);}reset($keysvalue);if($mode=='keep'){foreach ($keysvalue as $k=>$v){$new_array[$k] = $arr[$k];}}else{foreach ($keysvalue as $k=>$v){$new_array[] = $arr[$k];}}return $new_array;?}//curl獲取遠程數據 需要開啟curl庫
/*$url遠程地址*/function curl_get_contents($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url); ? ? ? ? ? ?//設置訪問的url地址//curl_setopt($ch,CURLOPT_HEADER,1); ? ? ? ? ? ?//是否顯示頭部信息curl_setopt($ch, CURLOPT_TIMEOUT, 5); ? ? ? ? ? //設置超時curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_); ? //用戶訪問代理 User-Agentcurl_setopt($ch, CURLOPT_REFERER,_REFERER_); ? ? ? ?//設置 referercurl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); ? ? ?//跟蹤301curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ? ? ? //返回結果$r = curl_exec($ch);curl_close($ch);return $r;}?
//下載函數
/*$filename下載文件地址或路徑*/function download($filename){if(preg_match("/^http\:\/\//i",$filename)){header("location:$filename");}else{header('Content-Description: File Transfer');header('Content-Type: application/octet-stream');$simplename = basename($filename);header('Content-Disposition: attachment; filename='.$simplename);header('Content-Transfer-Encoding: binary');header('Expires: 0');header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header('Pragma: public');header('Content-Length: ' . filesize($filename));ob_clean();flush();readfile($filename);}}?
//生成隨機數
/*return String$num生成位數$mode模式,1為生成大寫與數字,2為生成大小寫與數字*/function randnum($num,$mode=1){if($mode==1){$str_abc = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ';$str = '';for($i=0;$i<$num;$i++){$str .= $str_abc{mt_rand(0,35)};}return $str;$str = '';}else{$str_abc = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';$str = '';for($i=0;$i<$num;$i++){$str .= $str_abc{mt_rand(0,61)};}return $str;$str = '';}}?
//中文截取函數
/*return String$str傳入的字符$start起始位置$start結束位置*/function cSubstr($str,$start,$len){for ($i = $start; $i < $len; $i++) {$temp_str = substr($str, 0, 1);if (ord($temp_str) > 127) {$i++;if ($i < $len) {$new_str[] = substr($str, 0, 3);$str = substr($str, 3);}} else {$new_str[] = substr($str, 0, 1);$str = substr($str, 1);}return join($new_str);}}使用"自然"算法來比較兩個字符串(不區分大小寫):
strnatcasecmp() 函數使用一種"自然"算法來比較兩個字符串。
在自然算法中,數字 2 小于數字 10。在計算機排序中,10 小于 2,這是因為 10 中的第一個數字小于 2。
注釋:strnatcasecmp() 對大小寫不敏感。
?
strnatcasecmp(string1,string2)
?
返回值:
- 0 - 如果兩個字符串相等
- <0 - 如果 string1 小于 string2
- >0 - 如果 string1 大于 string2
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的PHP中一些可用的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工行三类卡虚拟卡如何充值
- 下一篇: 对公账户注销流程