• PHP-函数(定义,带缺省值,值传递、地址传递)php跨越+移植(include require include_once require_once)


    函数的定义: 

    1. function 函数名称($参数1,$参数2,$参数3...){
    2. 函数体;
    3. //如果有返回值
    4. return 值;
    5. }

    举例子:

    1. function slope($x1,$y1,$x2,$y2){
    2. $result=($y2-$y1)/($x2-$x1);
    3. //如果有返回值
    4. return $result;
    5. }
    6. $c=slope(1,1,2,2);
    7. echo "斜率=".$c;
    8. ?>


    带缺省参数值的函数声明语法(参数中用缺省值替代-/如果没有给出那就使用,缺省值作为参数/如果给出就使用实参;)

    1. function print_separated($str,$separator=","){
    2. if (strlen($str)>0){ //如果有非空字符串传入
    3. print $str[0];//第一个字母
    4. for($i=1;$i$str);$i++){
    5. print $separator.$str[$i];//,之后的字母
    6. }
    7. }
    8. }
    9. print_separated("abcdefg");//如果没有给出那就使用,缺省值作为参数
    10. echo "
      "
      ;
    11. print_separated("abcdefg","-");//如果给出就使用实参;
    12. ?>

     函数调用中的两种参数传递类型:

    • 值传递:(仅仅将值传递到函数中的变量$num中,主函数中的变量$x的值不会发生改变)
    1. function make_big($num){
    2. $num=$num*2;
    3. }
    4. $x=5;
    5. make_big($x);
    6. echo $x;
    7. ?>

    •  地址传递(参数传递的是 变量的地址——将变量$x中的&地址传递给函数变量$num(主函数中变量的值会发生改变))
    1. function make_big(&$num){
    2. $num=$num*2;
    3. }
    4. $x=5;
    5. make_big($x);
    6. echo $x;
    7. ?>

    php中 变量的作用域:

    • 函数之外的变量是全局变量
    • 函数之内的是局部变量
    • php中函数是最小级别的变量作用域

    全局变量的声明方式:gobal $全局变量名;

    //只有定义过global在函数中才能使用 全局变量 

    1. $a=10;
    2. function make_big(){
    3. global $a;
    4. print $a;//只有定义过global在函数中才能使用 全局变量
    5. $c=6;
    6. print $c;//局部变量
    7. global $d;//全局变量
    8. $d=5;
    9. }
    10. make_big();
    11. print $d;
    12. ?>


    PHP块的跨越:前面的PHP块中声明的变量在同一页面的后面的PHP依然可以使用

    变量的作用域和PHP块的开始和结束标记无关

    1. PHP块的跨越
    2. $a="张";
    3. ?>
    4. 你好啊,

    5. $b=$a."三" ?>
    6. $b?>

     由于php可以跨越,当然所以php的移植也可以类似=》及php的包含

    include("文件名")——

    • 注入的文件可以是PHP代码。该代码将被执行,代码中的变量函数在当前页面仍然有效
    • 注入的文件可以是HTML代码。相应的HTML将显示在当前页面

     首先建立两个php文件exp1.php;exp2.php

     

     然后在php文件中使用include("文件名")注入

    1. PHP块的包含
    2. include("exp1.php");//输出block p+函数的注入
    3. ?>
    4. 你好

    5. include("exp2.php");//输出列表 ?>
    6. 名字=a("ABC")?>

     

     程序的注入还有require(f)____与include相似。但是文件不存在,会显示错误

    include_once(f)——功能与include一样就是不允许相同文件在同一页面被导入多次

    require_once(f)———功能与require一样就是不允许相同文件在同一页面被导入多次

  • 相关阅读:
    python import 导入文件其他路径下的文件的方法
    学习Android的第十七天
    全新版互联网大厂面试题,分类65份PDF,累计2000页
    一道线段树相关算法题
    安卓通讯录操作插件
    # sudo和su
    使用Truffle编译智能合约及所遇到的问题
    快速了解什么是:微服务
    软件测试之【单元测试、系统测试、集成测试】
    鲸探发布点评:9月22日发售《“京华号”盾构机》数字藏品
  • 原文地址:https://blog.csdn.net/weixin_47295886/article/details/126323715