<?php
/* PHP的变量的范围:
* 局部变量: 在函数中声明的变量就是局部变量,只能在自己的函数内部使用。
* 全局变量: 在函数外声明,在变量声明以后的,直到整个脚本结束前都可以使用,包括在函数中和{}中都可使用
*
* PHP的变量分不出 是声明还是使用,
* 在PHP中使用全局变量 要通过global关键字将这个全局变量包括到函数中才能使用到,在global声明之后才是使用全局的变量
*
* 参数就是局部变量,这个局部变量可以调用 时去赋值。
*
* PHP的静态变量
*
* 静态变量只能声明在函数中(类中),不能在全局声明
* 使用static在变量前;
*
* 作用:一个变量可以在同一个函数在多次调用中同用。
* 1. 静态变量在静态代码段中保存
*
*
*
* 1. 函数的功能------------决定是否使用这个函数
* 2. 函数的参数------------决定函数怎么调用 ---有几个参,传什么类型的值,。。。。
* 3. 函数的返回值----------调用后怎么处理这个函数
*
* PHP给2000多个函数。。。 都属于系统涵 数,都可以通过名称直接使用。
*
* 一定要先使用系统函数,如果系统函数没有你想要的功能,再去自己定义函数
*
* 1. 常规函数
bool copy ( string source, string dest )
2. 带有mixed , mixed表示可以传任何类型的数据
bool chown ( string filename, mixed user )
3. 带有&参数的函数, 表示引用赋值, 这个参数不能传值,只能传一个变量,然后函数将变量的值改变,我们在使用这个变量时,值也是变化的
bool arsort ( array &array [, int sort_flags] )
4.默认函数 带有[]的函数, 表示这个参数是可选的,如果你传值了就使用你传的值,如果没有传值则使用默认值
直接在声明函数时,就为参数给初值。
可选值和必须值, 必须从后向前设置
5. 带有...的参数函数, ...表示可以传任意多个参数
6. 回调函数 带有callback, 就是调用这个函数时需要我们传一个函数进来(函数名,函数名字串)
*
*/
/* PHP的变量的范围:
* 局部变量: 在函数中声明的变量就是局部变量,只能在自己的函数内部使用。
* 全局变量: 在函数外声明,在变量声明以后的,直到整个脚本结束前都可以使用,包括在函数中和{}中都可使用
*
* PHP的变量分不出 是声明还是使用,
* 在PHP中使用全局变量 要通过global关键字将这个全局变量包括到函数中才能使用到,在global声明之后才是使用全局的变量
*
* 参数就是局部变量,这个局部变量可以调用 时去赋值。
*
* PHP的静态变量
*
* 静态变量只能声明在函数中(类中),不能在全局声明
* 使用static在变量前;
*
* 作用:一个变量可以在同一个函数在多次调用中同用。
* 1. 静态变量在静态代码段中保存
* 2. 一个函数多次调用之间共用,但只在第一次调用 函数时声明到内存,以后再调用用,就不再声明,而直接使用
function testFunc(){
static $i=100;
$i++;
echo $i;
}
testFunc();
echo '<br>';
testFunc();
echo '<br>';
testFunc(); //如果变量$i不加static 静态变量修饰符 3次执行testFunc()输入的结果是一样的,不会增加。
*
* 变量函数:如果一个变量后面有括号$var=hello $var(), 就将寻找与变量值同名的函数 hello();
function three($a, $b){
return $a*$a*$a+$b*$b*$b;
}
$var=three;
echo "结果:".$var(3, 4)."<br>";
*
*
* 1. 函数的功能------------决定是否使用这个函数
* 2. 函数的参数------------决定函数怎么调用 ---有几个参,传什么类型的值,。。。。
* 3. 函数的返回值----------调用后怎么处理这个函数
*
* PHP给2000多个函数。。。 都属于系统涵 数,都可以通过名称直接使用。
*
* 一定要先使用系统函数,如果系统函数没有你想要的功能,再去自己定义函数
*
* 1. 常规函数
bool copy ( string source, string dest )
2. 带有mixed , mixed表示可以传任何类型的数据
bool chown ( string filename, mixed user )
3. 带有&参数的函数, 表示引用赋值, 这个参数不能传值,只能传一个变量,然后函数将变量的值改变,我们在使用这个变量时,值也是变化的
bool arsort ( array &array [, int sort_flags] )
$arr=array(1, 9, 5, 8, 3, 4);
sort($arr);
print_r($arr);
4.默认函数 带有[]的函数, 表示这个参数是可选的,如果你传值了就使用你传的值,如果没有传值则使用默认值
直接在声明函数时,就为参数给初值。
可选值和必须值, 必须从后向前设置
bool arsort ( array &array [, int sort_flags] )
function demo($a=1, $b=20, $c){
echo "### $a ### $b ##### $c ########<br>";
}
demo(8,9);
5. 带有...的参数函数, ...表示可以传任意多个参数
int array_unshift ( array &array, mixed var [, mixed ...] )
function demo(){
$args=func_get_args(); //获取参数数量
// print_r($args);
$sum=0;
for($i=0; $i<count($args); $i++){
$sum+=$args[$i];
}
return $sum;
}
function demo2(){
$k=func_get_args();
print_r($k);
}
echo demo(1, 2, 3, 4, 5, 6, 7,8,9).'<br>';//结果:45
echo demo2(1,3,9); // 结果:Array ( [0] => 1 [1] => 3 [2] => 9 )
6. 回调函数 带有callback, 就是调用这个函数时需要我们传一个函数进来(函数名,函数名字串)
array array_filter ( array input [, callback callback] )
function demo($x, $y){
return $x*$y;
}
function test($x, $y){
return $x*$x + $y*$y;
}
function sum($a, $b, $fun){
return $a+$b+$fun($a,$b);
}
echo sum(2, 3, demo);
echo sum(2, 4, "test");
*
*/