php基础(函数)

自定义函数

{echoDrangon() // 执行代码块}

局部动态变量
	static //局部静态变量,运行完成后并没有被释放掉
	当有值的时候不再声明

全局变量 
	global 声明可使用全局变量

值的引用和传递
	$a = 2;
	function change(&$c){
		$c = 5;
	}
	change($a);
	echo $a; //5
	// & 把$a的地址拿过来,再给与赋值
	-------------------
	普通函数定义指向的是栈内存
	-------------------
	对象指向的是堆内存
	$obj = new stdClass();
	$obj -> a = 3;
	function change($o){
		$o -> b = 5;
	}
	change($obj);
	print_r ($obj);
	// stdClass Object ( [a] => 3 [b] => 5 )
	-------------------
	
参数的默认值
	function test($a=5, $b=6){
		echo $a;
		
	}
	test()
	//5
	
可变参数列表
	func_get_arg — 返回参数列表的某一项 
	func_num_arg 
	
参数的类型
	function test(callable $a){  //callable 回调类型 || 指定回调类型,如果没有的情况下会报错~!
    $a();
    }
    function callback(){
	   echo '你好';
    } 
    test('callback'); //你好
	
可变函数
	function test(){
		echo 'hello';
	}
	$func = 'test';
	if( is_callable($func) ){
		// 判断是否有这个回调函数
		$func();
	}
	if( function_exists($func)){
		$func();
	}

函数潜嵌套
	function a(){
		function b(){
			echo 'hello';
		}
	}
	a();  // 空
	b(); //hello
	
	-------------------------------
	
	function a(){
	$a = '5';   //定义在a()当中,其他函数无法获取
	function b(){
		echo $a;
	}
	}
	a();  // 空
	b(); // 报错
	
匿名函数
	function test(){
    $info = 'hello';
    $say = function ($str) use ($info){  //通过use 得到外层的变量
       echo $info;
       echo $str; 
    };
    $say('hello word');
   }
   test(); 

系统函数

字母大写
	
	strtolower — 将字符串转化为小写 
	strtoupper — 将字符串转化为大写 
	ucfirst
		//将橘子首字母转换为大写
	unwords
		//将每个单词的首字母转换为大写字母

字符串替换
	str_replace
		$body = 'hello word'
		str_replace('o','q',$body);
		//hellq wqrd
	str_ireplace 
		忽略大小写
		
转换为html实体
	{htmlspecialchars}
	
删除空格
	ltrim
		//删除左边的空格
	$body = ltrim($body);	
	rtrim
		//删除右边边的空格
	trim
		//开始和结束的位置或者其他

截取字符
	$rest  =  substr ( "abcdef" , - 1 );     // 返回 "f"
	$rest  =  substr ( "abcdef" , - 2 );     // 返回 "ef"
	$rest  =  substr ( "abcdef" , - 3 ,  1 );  // 返回 "d"
	------
	strstr — 查找字符串的首次出现 
	$n = 'hello ';
	echo strstr($n,'e',false);
		若为 TRUE , strstr()  将返回 needle 在 haystack 中的位置之前的部分
		第一次出现的位置开始到结尾的字符串
	strrchr
		最后一次出现的位置直到末尾
	strrev — 反转字符串 
	strpos — 查找字符串首次出现的位置 
	md5 
	str_shuffle — 随机打乱一个字符串
	explode — 使用一个字符串分割另一个字符串 
		$array  = array( 'lastname' ,  'email' ,  'phone' );

$com ma_separated = implode ( "," , $array );

格式化字符串
	sprintf
	{$format参数}
	
数学函数
	floor()  //向下
	ceil() //向下
	max()  //返回最大
	min()	//返回最小
	rand — 产生一个随机整数 
	mt_rand — 生成更好的随机数 
	round — 对浮点数进行四舍五入
		echo  round ( 5.045 ,  2 );     // 5.05
	number_format — 以千位分隔符方式格式化一个数字 
	fmod — 返回除法的浮点数余数 
	
date函数
	date_default_timezone_get() //获得时区;
	echo date('Y年m月d日G时:i分:s秒');
	time() — 返回当前的 Unix 时间戳
	time()-86400 //24*60*60 前一天
	strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳 
		// 日期表达格式
	microtime — 返回当前 Unix 时间戳和微秒数 
	microtime(true)  将返回一个浮点数。
		// 获得改程序运行的时间
		$start = microtime(true);
		$num = 0;
		for ($i=0; $i <10000000 ; $i++) { 
			$num += $i;
		}
		$end = microtime(true);
		echo $end - $start;
	uniqid — 生成一个唯一ID 
		// 获取一个带前缀、基于当前时间微秒数的唯一ID。 
	getdate — 取得日期/时间信息 
		//数组类型
posted @ 2018-01-23 12:24  mysure  阅读(172)  评论(0编辑  收藏  举报