zoukankan      html  css  js  c++  java
  • PHP中函数的使用

    函数是一种可以在任何被需要的时候执行的代码块
    函数的定义
        1.函数是一个被命名的独立的代码段
        2.它执行特殊的任务
        3.并可以给调用它的程序返回值

    函数的优点:
        1.提高程序的重用性
        2.提高程序的可维护性
        3.可以提高软件的开发效率
        4.提高软件的可靠性
        5.控制程序的复杂性

    创建 PHP 函数:
        1.所有的函数都使用关键词 "function()" 来开始
        2.命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
        3.添加 "{" - 开口的花括号之后的部分是函数的代码。
        4.插入函数代码
        5.添加一个 "}" - 函数通过关闭花括号来结束。

        function 函数名(){
        
        }
        function 函数名(参数1,参数2.........){
        
        }


    一.函数必须调用才能执行,可以在声明之前调用,也可以在声明之后调用
    二.函数名命名和变量一样
    三.函数在声明时不能重名
    四.可以通过向函数传递参数,改变函数的行为
        形参:就在声明函数时,声明的参数,参数就是变量,多个参数用逗号分开
        实参:调用函数时传给形参数值(数据,也可以是变量)
    五.如果没有返回值则称为过程
    六.通过使用return语句返回数据
    七.函数执行return语句就结束,所以不要在这个语句后写代码

     1 <?php
     2 function table($n,$m,$width){
     3     echo '<table border="1" width="'.$width.'" align="center">';
     4     echo '<caption><h1>表名</h1></caption>';
     5     for($i=0;$i<$n;$i++){
     6         if($i%2==0){
     7             $bg="#ffffff";
     8         }else{
     9             $bg="#cccccc";
    10         }
    11         echo '<tr bgColor="'.$bg.'">';
    12         for($j=0;$j<$m;$j++){
    13             echo '<td align="center">'.($i*$m+$j).'</td>';
    14         }
    15         echo '</tr>';
    16     }
    17 }
    18 
    19 table(10,10,600);
    20 table(5,5,300);
    21 table(2,2,100);
    22 ?>

    PHP的变量的范围
        局部变量:在函数中声明的变量就是局部变量,只能在自己的函数内部使用。
        全局变量:在函数外声明,在变量声明以后的,直到整个脚本结束前都可以使用,包括在函数中和{}中都可以使用。
        
        PHP的变量分不出是声明还是使用
        在PHP中使用全局变量要通过global关键字将这个全局变量包括到函数中才能使用到。
        参数就是局部变量,这个局部变量可以调用时去赋值

     1 <?php
     2 //全局变量
     3 $a=10;
     4 function demo(){
     5     //局部变量b
     6     $b=5;
     7     //通过global关键字将这个全局变量包括到函数中
     8     global $a;
     9     $a+=10;
    10     echo $a."demo<br>";
    11     echo "b=".$b."<br>";
    12 }
    13 
    14 function test(){
    15     //因为PHP的变量分不出是声明还是使用,所以这是声明变量$a=5
    16     $a+=5; 
    17     echo $a."test<br>";
    18 }
    19 
    20 echo $a."----<br>";
    21 demo();
    22 echo $a."!!!!<br>";
    23 test();
    24 echo $a."####<br>";
    25 ?>

    PHP的静态变量
        静态变量只能声明在函数中(类中),不能在全局声明。
        使用static在变量前。


        作用:一个变量可以在同一个函数在多次调用中同用。
            1.静态变量在静态代码段中保存。
            2.一个函数多次调用之间共用,但只在第一次调用函数时声明到内存,以后再调用,就不再声明,而是直接使用。

     1 <?php
     2 function test(){
     3     //声明变量a为静态变量
     4     static $a=0;
     5     $b=0;
     6 
     7     $a++;
     8     $b++;
     9 
    10     echo "a=".$a."<br>";
    11     echo "b=".$b."<br>";
    12 }
    13 
    14 test();
    15 test();
    16 test();
    17 ?>

    变量函数(可变函数):如果一个变量后面有圆括号,PHP就将寻找与变量值同名的函数,并且将尝试执行它。这样就可以将不同的函数名称赋给同一个变量,赋给变量哪个函数名,在程序中使用变量名并在后面加上圆括号时,就调用哪个函数执行。

     1 <?php
     2 //声明第一个函数one,计算两个数的和,需要两个整型参数,返回计算后的值
     3 function one($a,$b){
     4     return $a+$b;
     5 }
     6 
     7 //声明第二个函数two,计算两个数的平方和,需要两个整型参数,返回计算后的值
     8 function two($a,$b){
     9     return $a*$a+$b*$b;
    10 }
    11 
    12 //声明第三个函数three,计算两个数的立方和,需要两个整型参数,返回计算后的值。
    13 function three($a,$b){
    14     return $a*$a*$a+$b*$b*$b;
    15 }
    16 
    17 //将函数名‘one’赋值给$result,执行$result()时则调用函数one()
    18 $result="one"; 
    19 echo "和为:".$result(3,4)."<br>";
    20 
    21 //将函数名‘two’赋值给$result,执行$result()时则调用函数two()
    22 $result="two"; 
    23 echo "平方和为:".$result(3,4)."<br>";
    24 
    25 //将函数名‘three’赋值给$result,执行$result()时则调用函数three()
    26 $result="three"; 
    27 echo "立方和为:".$result(3,4)."<br>";
    28 ?>

     内部函数:  PHP可以在函数内部再声明函数。
                  目的就是在函数的内部调用
                  就是用来帮助外部函数完成一些子功能的

     1 <?php
     2 function score($php,$java,$net){
     3     //声明内部函数
     4     function php($php){
     5         if($php>60)
     6             return "及格";
     7         else
     8             return "不及格";
     9     }
    10 
    11     function java($java){
    12         if($java>60)
    13             return "及格";
    14         else
    15             return "不及格";
    16     }
    17 
    18     function net($net){
    19         if($net>60)
    20             return "及格";
    21         else
    22             return "不及格";
    23     }
    24 
    25     $total=$php+$java+$net;
    26 
    27     $agv=$total/3;
    28 
    29     echo "你的php成绩是{$php}分".php($php)."<br>";
    30     echo "你的java成绩是{$java}分".php($java)."<br>";
    31     echo "你的net成绩是{$net}分".php($net)."<br>";
    32 
    33     echo "你的总成绩为:{$total}<br>";
    34     echo "你的平均成绩为:{$agv}<br>";
    35 }
    36 
    37 score(50,90,70);
    38 ?>

    递归函数:就是在自己内部调用自己的函数名

     1 <?php
     2 function demo($num){
     3     echo $num."<br>";
     4 
     5     if($num>0)
     6         demo($num-1);
     7     else
     8         echo "------------<br>";
     9 
    10     echo $num."<br>";
    11 }
    12 
    13 demo(5);
    14 ?>



    重用函数:使用自己定义的函数库
        require:用于静态包含
        include:用于动态包含
        require_once
        include_once

        include(文件名);
        include"文件名";

     1 <?php
     2 //include_once和require_once只包含一次
     3 include_once "test.txt";
     4 include_once "test.txt";
     5 include_once "test.txt";
     6 
     7 require "demo.txt";
     8 
     9 include_once "test.inc.php";
    10 echo "{$a}<br>";
    11 test();
    12 ?>

    test.inc.php

    1 <?php
    2 $a=10;
    3 function test(){
    4     echo "########<br>";
    5 }
    6 ?>

    test.txt

    aaaaaa<br>
    bbbbbb<br>
    cccccc<br>

    demo.txt

    11111<br>
    22222<br>
    33333<br>


    一些系统含糊的使用
    资源=opendir("目录名")     //打开目录
    readdir(资源)            //读取目录

    //判断是不是文件
    is_dir(文件)

     1 <?php
     2 function totaldir($dirname,&$dirnum,&$filenum){
     3     $dir=opendir($dirname);
     4     readdir($dir)."<br>";    //读出 . 本文件
     5     readdir($dir)."<br>";    //读出 .. 上一级文件
     6     while($filename=readdir($dir)){
     7         //设为本这个目录下的文件
     8         $newfile=$dirname."/".$filename;
     9 
    10         //判断是否是目录
    11         if(is_dir($newfile)){
    12             //递归调用查看所有的文件目录
    13             totaldir($newfile,$dirnum,$filenum);
    14             $dirnum++;
    15         }else{    
    16             $filenum++;
    17         }
    18     }
    19 
    20     closedir($dir);
    21 }
    22 
    23 $dirnum=0;
    24 $filenum=0;
    25 totaldir("D:/APMServ5.2.6/www/phpMyAdmin",$dirnum,$filenum);
    26 
    27 echo "目录总数:".$dirnum."<br>";
    28 echo "文件总数:".$filenum."<br>";
    29 ?>
  • 相关阅读:
    IIS Express 配置缓存位置
    Docker Demo on Docker
    前端的哪些坑
    如何在container中编译dotnet的eShopOnContainers
    JQuery 常用的那些东西
    jQuery选择器大全
    Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405
    WPF 通过透明度遮罩和变换制作倒影效果
    Ons 让人欲哭无泪问题,官方介绍不详
    如何转换任何配置文件 文件中的内容
  • 原文地址:https://www.cnblogs.com/Y-HKL/p/5299733.html
Copyright © 2011-2022 走看看