PHP入门 – 函数的定义及使用方法

函数是一段完成指定任务已命名的代码块。函数可以遵照给定的一组值或参数完成指定任务,并且课程返回一个值。PHP中有两种函数:自定义函数和系统函数。

1.定义函数  function  函数名称(参数1,参数2,参数3...){ 函数体 [return 返回值] }

<?php
function Sum($a, $b = 1){
  $c = $a + $b;
  return $c;
}
echo Sum(1,3);  //输出结果为 4
?>

函数名是大小写不敏感,不过在调用函数的时候,使用其在定义时相同的形式是个好习惯。

判断函数是否存在 function_exists();参数就是函数名。

2.函数的参数:函数允许使用以下数据类型作为参数默认值:标量、数组和NULL,不能是变量,类成员,或者函数调用等。

2.1 常规参数的函数:实参和形参个数相等、类型一致且顺序一致。 string example(string name, int age, double height)

<?php
function Sum($a, $b){
  $c = $a + $b;
  return $c;
}
echo Sum(2, 4);
?>

2.2 伪类参数的函数:在声明函数时不需要指定类型。 mixed example(mixed $a, number $b, callback $c) 有三种伪类型:mixed number callback

2.3 引用参数的函数:viod funName(array &args) 把数值或变量的内存存储区块的相对地址导入到函数中,当该数值在函数中有任何变动时,会连带对父程序造成影响。注意:如果在函数的形参中使用 & 修饰的参数,在调用此函数时比如传入一个变量给参数,而不能传递一个值。

<?php
function demo(&$num){
	return $num++;
}
$i = 10;
echo demo($i);  //输出结果为 10
echo '<hr>';
echo $i;  //输出结果为 11
?>

2.4 默认参数的函数:如果在调用函数时没有传入参数的值,可以在函数中使用参数的默认值。注意:当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则,函数将不会按照预期的情况工作。

//正确情况下,含有默认值的参数放在右边。可以保证调用函数只填写必需参数正常输出。
function person($age,$name="xiaofan"){
	echo 'name: '. $name;
	echo 'age: '. $age;
}

person(12);	//输出name: xiaofan  age: 12

//如果含默认值的参数放左边,当调用函数传入一个参数时,输出结果就是错误的
function person1($name="xiaofan",$age){
	echo 'name: '. $name;
	echo 'age: '. $age;
}

person1(12);	//输出name: 12  age:

 

2.5 可变个数参数的函数

function func(){
	//获取传入参数的数量
	echo func_num_args();

	//获取传入的第一个参数
	var_dump(func_get_arg(0));

	//获取全部的参数,数组形式
	var_dump(func_get_args());
}

func(a,b,c);

2.6 回调函数:调用函数时将另一个函数作为参数传递到调用函数中。

<?php
function one($num){
	if($num % 3 == 0){
		return TRUE;
	}
	return FALSE;
}
function filter($fun){
	for($i = 1; $i < 100; $i++){
		if($fun($i)){
			continue;
		}
		echo $i;
		echo '<br>';
	}
}
filter("one");  //输入结果是过滤到3的倍数的1到99的值
?>

3.函数的返回值:值通过使用可选的返回语句返回。可以返回包括数组和对象的任意类型。返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行。

4.可变函数:如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。

<?php
function Sum($a, $b){
  $c = $a + $b;
  return $c;
}
$foo = 'Sum';
echo $foo(1,2);  //输出结果为 3
?>

5.递归函数:在函数执行中调用它自己。递归函数的好处是精简程序中繁杂重复调用的函数,并且可以执行一些复杂的运算动作。但是它的效率是比较低的。

<?php
function myNum($num){
	echo $num;
	echo '&nbsp';
	if($num == 0){
		echo '<=>';
	}else{
		myNum($num - 1);
	}
	echo $num;
	echo '&nbsp';
}
myNum(5);  //输入结果为 5 4 3 2 1 0 <=>0 1 2 3 4 5
?>

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇