PHP学习笔记(2)

1、可以在一个函数内部再定义一个函数,但是这并不影响函数的可见性,只有先调用外层函数才能调用内层函数,否则会出现错误。

2、全局变量中,使用全局变量等效于在$GLOBALS变量中对变量创建一个引用
	global $var;
	var =& $GLOBALS["var"];
	两种方法是等效的

3、函数参数传递的方式
	按值传递和按引用传递
	在按引用传递的时候,必须注意,传递的必须是一个变量,且在函数定义的时候,要在参数前面加上一个&
	在绝大多数情况下我们都选择按引用传递参数,因为按值传参的时候会有复制产生,增大开销。

4、默认参数函数
	所有带有默认值的参数都应该在不带默认值的参数的右边,而且默认参数函数的带默认值的参数必须是常量

5、可变参数函数
	在可变参数函数中,在函数定义的时候不给参数列表,在调用函数的时候给出参数,利用一下三个函数进行使用:
	func_get_args() //得到一个数组,里边是参数列表
	func_num_args() //得到参数的个数
	func_get_arg($num) //得到第几个参数,这个是按照索引顺序来的
	配合使用

6、返回值
	函数的返回值可以是一个单值,也可以是一个数组,还可以是一个引用
	$name = array("Amy","Bob","Tim","Jim");
	function & get_name($i)
	{
		global $name;
		return $name[$i];
	}
	$one =& get_name(2);//返回的是$name[2]的别名而不是值,在通常情况下,由于写时复制的存在,通常都不用返回引用
	echo $one;

7、可变函数
	可以将变量名加括号作为函数名,内置的函数如echo,isset等不能作为可变函数名,为了判断是否存在这个函数,通常我们用function_exists()函数来测试是否这个函数存在
	$func = "maxval";
	if(function_exists($func))
	{
		echo $func(1,2);
	}

8、函数做函数参数
	例如对于usort函数,按字符串长度排序,先写一个比较函数
	function length_compare($string_a,$string_b)
	{
		return strlen($string_a)>strlen($string_b);
	}
	$greeting = array("Hello","Hi","Good Night","Good Morning");
	usort($greeting,length_compare);
	foreach($greeting as $row):
	echo $row."<br />";
	endforeach;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值