zoukankan      html  css  js  c++  java
  • 【php】基础学习3

      本节主要是php中函数的学习:

      1 <html xmlns=http://www.w3.org/1999/xhtml>
      2     <head>
      3     <meta http-equiv=Content-Type content="text/html;charset=utf-8">
      4     </head>
      5     <body>
      6     <?php
      7         /*
      8         * PHP中的函数
      9         * 函数使用关键字function来定义
     10         * 通常由函数名称、参数、函数体和返回值四部分组成
     11         * ① 不允许函数重名
     12         * ② 不能以数字开头,只能包括字母、数字和下划线
     13         * ③ 函数名不区分大小写
     14         * ④ 可使用函数名直接调用,后跟需要传入的参数并用小括号括起来
     15              如果没有需要传入的参数,则只写小括号
     16         * ⑤ 在php脚本中,可以先调用函数而后定义函数,谁先谁后没有固定要求
     17         */
     18         function returnNum($num1,$num2){
     19             $sum=$num1+$num2;
     20             return $sum;
     21         }
     22         echo returnNum(3,5)."<br/>";
     23     
     24         /*
     25         * 工作中,有时还会将任意数量的参数传递给函数
     26         * php中func_num_args函数返回参数总数,func_ge_args函数返回参数的具体信息
     27         */
     28         function muti_parameters(){
     29             $all_parameters=func_get_args();
     30             foreach($all_parameters as $key=>$value){
     31                 echo "键:$key=>值:$value<br/>";
     32             }
     33             echo "函数体所含参数数量:".func_num_args()."<br/>";
     34             echo "执行完一次muti_parameters函数<br/>";
     35         }
     36         muti_parameters(1,2,3,'你好');
     37         muti_parameters();
     38         
     39         /*
     40         * 按值传递
     41         * php中出了对象类型外,其他类型的参数传递方式都是值传递
     42         */
     43         function example($num){
     44             return $num*$num;
     45         }
     46         echo example(5)."<br/>";
     47         
     48         /*
     49         * 按引用传递
     50         * ① 引用传递方式是在形参前加上"&"号
     51         * ② 按引用传递是将实参的内存地址传递到形参中,所以不能直接传递值进入函数
     52         */
     53         //1
     54         $num1=1;
     55         function in_value(&$temp){
     56             $temp+=4;
     57             echo '函数内部temp='.$temp;
     58         }
     59         in_value($num);
     60         echo "<br/>";
     61         echo '函数调用结束后实参$num='.$num."<br/>";
     62         //2
     63         $num=3;
     64         function in_value1(&$temp){
     65             $temp+=4;
     66             echo '函数内部temp='.$temp;
     67         }
     68         //in_value1(3);此时程序报错ERROR
     69         
     70         /*
     71         * 默认参数值
     72         * 在php中定义函数时,参数可带默认值,在不传入数据时有默认值的参数直接被赋值为默认值
     73         */
     74         function member($name,$sex='男'){
     75             echo "姓名:".$name.' 性别:'.$sex."<br/>";
     76         }
     77         member('Jim');
     78         member('Lily','女');
     79         
     80         /*
     81         * 局部变量
     82         * 静态变量:static
     83         * ① 全局变量也是外部变量,是在函数的外部定义的
     84              需要在函数中使用全局变量时,可以将其声明为global
     85         * ② 在全局范围内访问变量的第二个办法:使用php自定义的$GLOBALS数组
     86         * ③ global与$GLOBALS的区别:
     87              使用global的时候其实是在使用全局变量的一个引用
     88              而使用$GLOBALS时其实是在使用全局变量本身
     89         */
     90         //1 global
     91         $temp1=1;
     92         $temp2=2;
     93         function sum(){
     94             global $temp1,$temp2;//使用global关键字引用
     95             $temp2=$temp1+$temp2;
     96         }
     97         sum();
     98         echo '$temp2='.$temp2."<br/>";//$temp2=3
     99         //2 $GLOBALS数组
    100         $temp1=1;
    101         $temp2=2;
    102         function sum2(){
    103             $GLOBALS['temp2']=$GLOBALS['temp1']+$GLOBALS['temp2'];
    104         }
    105         sum();
    106         echo 'temp2='.$temp2."<br/>";
    107         //3 global与$GLOBALS的区别
    108         $temp1=1;
    109         $temp2=2;
    110         function sum3(){
    111             global $temp1;
    112             unset($temp1);
    113             unset($GLOBALS['temp2']);
    114         }
    115         sum3();
    116         echo '$temp1='.$temp1.'<br/>'; //$temp1=1,函数中只是删除了一个引用,原变量还在
    117         //echo $temp2;错误,因为此时temp2已经被释放掉了
    118         
    119         /*
    120         * php支持在函数内部定义一个函数,或者根据程序的需要在函数内部处理后得到符合需求的函数
    121         */
    122         function outside_define($define){
    123             if($define=='add'){
    124                 function inside_define($num){
    125                     $num +=$num;
    126                     return $num;
    127                 }
    128             }else{
    129                 function inside_define($num){
    130                     $num *=$num;
    131                     return $num;
    132                 }
    133             }
    134         }
    135         outside_define('add');
    136         echo inside_define(6)."<br/>";
    137         //outside_define('ss');第二次执行会报错,因为函数inside_define()已经定义了
    138         
    139         /*
    140         * php可提供用变量存储函数名称的功能
    141         * 当在变量后追加小括号时,php将自动解析变量的值是否为一个函数名,
    142         * 如果是,则直接执行该函数
    143         */
    144         function low($num){
    145             $num=$num-100;
    146             echo $num;
    147         }
    148         function ride($num){
    149             $num=$num*100;
    150             echo $num."<br/>";
    151         }
    152         $fn="ride";
    153         $fn(8);
    154         
    155         /*
    156         * 递归函数
    157         * 定义:在一个函数的内部,含有直接或间接调用自己本身的语句
    158         * 建议使用循环替代递归
    159           因为递归函数将在内存中创建几个自身的副本,而且将产生几次函数调用的开销
    160         */
    161         function factorial($num){
    162             if($num==0){
    163                 return 1;
    164             }else{
    165                 return $num * factorial($num-1);
    166             }
    167         }
    168         echo factorial(4)."<br/>";
    169         
    170         /*
    171         * 使用和包含文件:include()与require()
    172         * include("demo.php");require('demo.php')
    173         * 主要区别:
    174         * ① 当找不到被包含的文件时,require将输出错误,而include输出警告
    175           ② include和require支持相对路径和绝对路径,
    176              如果没有指定明确路径,则在当前目录搜索,
    177              然后查找php.ini文件include_path设置中列出的目录
    178           ③ php不支持函数重载
    179         * 一个文件要包含两个不同的文件,而这两个文件却又包含了同一个文件,
    180           为了解决这个问题,php提供了include_once和require_once。
    181           他们在第一次编译的时候会包含指定的文件并记住这个文件,当脚本第二次解析到这里的时候,
    182           他们将会通知php该文件已被包含过。这样,就防止了函数或结构重复定义的问题
    183         */
    184         
    185         /*
    186         * php模块化
    187         * 例如:
    188         * header.php
    189           <html>
    190             <head>
    191                 <title><?php echo $title;?></title>
    192             <style>
    193                 h1{color:red;}
    194             </style>
    195             </head>
    196             <body>
    197         * footer.php
    198             <div align="center" width="200px">This is my footer</div>
    199            </body>
    200           </html>
    201         * body.php
    202           <?php 
    203             $tile='include && require is my good friend';
    204             require('header.php');
    205           ?>
    206             <h1><?php echo $title;?></h1>
    207           <?php
    208              require('footer.php');
    209           ?>
    210         */
    211     ?>
    212     </body>
    213 </html>
  • 相关阅读:
    【存储过程】输入学生的姓名,打印出学生的最高分、最低分、平均分
    Oracle序列Sequence用法
    Oracle数据库正则表达式
    Oracle数据库添加约束
    CVX使用手册翻译
    波束赋形技术
    IRS与物理层安全
    5G关键技术总结
    2019年研究生数学建模竞赛
    2019年华为软挑总结
  • 原文地址:https://www.cnblogs.com/ningvsban/p/3619678.html
Copyright © 2011-2022 走看看