Home Backend Development PHP Tutorial 一些惯用的PHP函数(整理)

一些惯用的PHP函数(整理)

Jun 13, 2016 am 11:59 AM
param return str string

一些常用的PHP函数(整理)

/** * 邹颢 * [email protected] *//** * 获取当前毫秒 * @return string */function get_millisecond() {	$t = explode ( " ", microtime () );	$t = $t [1] . ($t [0] * 1000);	$t2 = explode ( ".", $t );	return $t2 [0];}/** * curl模拟http/https post请求 * @param string $url			请求网址 * @param array $data			请求参数 * @return string				网址内容 */function curl_post($url,$data=array()){	$ch = curl_init($url);	curl_setopt($ch, CURLOPT_RETURNTRANSFER,true) ; // 获取数据返回	curl_setopt($ch, CURLOPT_POST,true) ; // 启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。	curl_setopt($ch, CURLOPT_POSTFIELDS,$data); // 在HTTP中的“POST”操作。如果要传送一个文件,[email protected]	if(substr($url,0,5)=='https'){		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);	}	$content=curl_exec($ch);	curl_close($ch) ;	return $content;}/** * curl模拟http get请求 * @param string $url			请求网址 * @param string|array $data	请求参数 * @return string				网址内容 */function curl_get($url,$data=array()){	$url=rtrim($url,'/');	if(!empty($data)){		if(is_array($data)){			$first=true;			foreach($data as $k=>$v){				if($first){					$url.='?';					$first=false;				}else{					$url.='&';				}				$url.="{$k}={$v}";			}		}else{			$data=ltrim('?',$data);			$url.='?'.$data;		}	}	$ch = curl_init($url);	curl_setopt($ch,CURLOPT_HEADER,false);	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回	if(substr($url,0,5)=='https'){		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);	}	$content = curl_exec($ch);	curl_close($ch);	return $content;}/** * 二维数组按键值排序 * @param array $arr 		二维数组 * @param string $keys		键值 * @param string $type		升序:asc,降序:desc(else) * @return array */function array_sort($arr,$keys,$type='asc'){	$keysvalue = $new_array = array();	foreach ($arr as $k=>$v){		$keysvalue[$k] = $v[$keys];	}	if($type == 'asc'){		asort($keysvalue);	}else{		arsort($keysvalue);	}	reset($keysvalue);	foreach ($keysvalue as $k=>$v){		$new_array[$k] = $arr[$k];	}	return $new_array;}/** * 获取客户端ip * @param number $type * @return string */function get_client_ip($type = 0) {	$type       =  $type ? 1 : 0;	static $ip  =   NULL;	if ($ip !== NULL) return $ip[$type];	if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {		$arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);		$pos    =   array_search('unknown',$arr);		if(false !== $pos) unset($arr[$pos]);		$ip     =   trim($arr[0]);	}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {		$ip     =   $_SERVER['HTTP_CLIENT_IP'];	}elseif (isset($_SERVER['REMOTE_ADDR'])) {		$ip     =   $_SERVER['REMOTE_ADDR'];	}	// IP地址合法验证	$long = sprintf("%u",ip2long($ip));	$ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);	return $ip[$type];}/** * 将字符串转换为驼峰式命名 *  * @param string $str        	 * @param boolean $big *        	true大驼峰式 false小驼峰式 * @return string */function hump_type($str, $big = false) {	$str = strtolower ( $str );	$big and ucfirst ( $str );	$str = preg_replace ( "/_([a-zA-Z])/e", "strtoupper('\\1')", $str );	return $str;}/** * 遍历删除文件夹 * * @param string $path *        	文件夹地址 * @return boolean */function delete_files($path) {	if (is_file ( $path )) {		return unlink ( $path );	}	if (is_dir ( $path )) {		$handle = opendir ( $path );		if ($handle != false) {			while ( false !== ($file = readdir ( $handle )) ) {				if (in_array ( $file, array (						'.',						'..' 				) ))					continue;				$file = $path . '/' . $file;				if (is_dir ( $file )) {					delete_files ( $file );				} else if (is_file ( $file )) {					if (unlink ( $file ) == false)						return false;				}			}			closedir ( $handle );		}		return true;	}}/** * 截取字符串(可截取utf8的) * * @param string $str        	 * @param int $start        	 * @param int $length        	 * @param string $trim        	 * @param string $charset        	 * @return string */function sub($str, $start, $length, $trim = "...", $charset = 'UTF-8') {	$length+=2;	if (function_exists ( 'mb_get_info' )) {		$iLength = mb_strlen ( $str, $charset );		$str = mb_substr ( $str, $start, $length, $charset );		if($length\n(\s+)/m', '] => ', $output );		$output = '<pre class="brush:php;toolbar:false">' . htmlspecialchars ( $output, ENT_QUOTES ) . '
Copy after login
'; } echo ($output);}/** * 从左边查询子串,找到则删除子串,只删除一次 * * @param string $str * @param string $find * @return string */function substr_left_once($str, $find) { $start = strpos ( $str, $find ); if (is_bool ( $start )) { return $str; } else { return substr ( $str, $start + strlen ( $find ), strlen ( $str ) ); }}/** * 从右边查询子串,找到则删除子串,只删除一次 * * @param string $str * @param string $find * @return string */function substr_right_once($str, $find) { $end = strrpos ( $str, $find ); if (is_bool ( $end )) { return $str; } else { return substr ( $str, 0, $end ); }}
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Convert basic data types to strings using Java's String.valueOf() function Convert basic data types to strings using Java's String.valueOf() function Jul 24, 2023 pm 07:55 PM

Convert basic data types to strings using Java's String.valueOf() function In Java development, when we need to convert basic data types to strings, a common method is to use the valueOf() function of the String class. This function can accept parameters of basic data types and return the corresponding string representation. In this article, we will explore how to use the String.valueOf() function for basic data type conversions and provide some code examples to

Detailed explanation of the usage of return in C language Detailed explanation of the usage of return in C language Oct 07, 2023 am 10:58 AM

The usage of return in C language is: 1. For functions whose return value type is void, you can use the return statement to end the execution of the function early; 2. For functions whose return value type is not void, the function of the return statement is to end the execution of the function. The result is returned to the caller; 3. End the execution of the function early. Inside the function, we can use the return statement to end the execution of the function early, even if the function does not return a value.

How to convert char array to string How to convert char array to string Jun 09, 2023 am 10:04 AM

Method of converting char array to string: It can be achieved by assignment. Use {char a[]=" abc d\0efg ";string s=a;} syntax to let the char array directly assign a value to string, and execute the code to complete the conversion.

What is the execution order of return and finally statements in Java? What is the execution order of return and finally statements in Java? Apr 25, 2023 pm 07:55 PM

Source code: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#Output The output of the above code can simply conclude: return is executed before finally. Let's take a look at what happens at the bytecode level. The following intercepts part of the bytecode of the case1 method, and compares the source code to annotate the meaning of each instruction in

Use Java's String.replace() function to replace characters (strings) in a string Use Java's String.replace() function to replace characters (strings) in a string Jul 25, 2023 pm 05:16 PM

Replace characters (strings) in a string using Java's String.replace() function In Java, strings are immutable objects, which means that once a string object is created, its value cannot be modified. However, you may encounter situations where you need to replace certain characters or strings in a string. At this time, we can use the replace() method in Java's String class to implement string replacement. The replace() method of String class has two types:

2w words detailed explanation String, yyds 2w words detailed explanation String, yyds Aug 24, 2023 pm 03:56 PM

Hello everyone, today I will share with you the basic knowledge of Java: String. Needless to say the importance of the String class, it can be said to be the most used class in our back-end development, so it is necessary to talk about it.

Use java's String.length() function to get the length of a string Use java's String.length() function to get the length of a string Jul 25, 2023 am 09:09 AM

Use Java's String.length() function to get the length of a string. In Java programming, string is a very common data type. We often need to get the length of a string, that is, the number of characters in the string. In Java, we can use the length() function of the String class to get the length of a string. Here is a simple example code: publicclassStringLengthExample{publ

Golang function byte, rune and string type conversion skills Golang function byte, rune and string type conversion skills May 17, 2023 am 08:21 AM

In Golang programming, byte, rune and string types are very basic and common data types. They play an important role in processing data operations such as strings and file streams. When performing these data operations, we usually need to convert them to each other, which requires mastering some conversion skills. This article will introduce the byte, rune and string type conversion techniques of Golang functions, aiming to help readers better understand these data types and be able to apply them skillfully in programming practice.

See all articles