zoukankan      html  css  js  c++  java
  • PHP学习笔记三、函数

    一、自定义函数

    1、格式

    funciton 函数名(参数1,参数2,参数3...){
    	处理逻辑;
    }
    

    2、函数命名要求
    (1)、不能以系统函数名或关键字重名。
    (2)、不能以数字和特殊字符开头,只能是大小写英文字母和下划线开头。
    (3)、不能在函数名中包含空格或特殊字符。
    3、参数
    (1)、可以自由定义参数的数量,没有限制。
    (2)、带有初始值的参数,在没有被赋值的时候,将使用其初始值。
    (3)、带初始值的参数,一般放在最后面。
    3、函数的引用传值("&")

    <?php
    $a=20;
    funciton fun(&$a){//形参
    	$a=$a*$a;
    }
    fun($a);//实参
    echo $a;//输出:400;不加"&"输出:20。
    ?>
    

    4、递归函数(自己调自己)
    阶乘

    <?php
    funciton fun($a){
    	if($a==1){
    		return 1;
    	}
    	else{
    		return $a*fun($a-1);
    	}
    }
    echo fun(5);
    ?>
    

    5、嵌套 (在一个函数里面调用其他函数)

    <?php
    function fun($a,$b,$c){
    	include($a);
    	include($b);
    	include($c);
    }
    echo fun("./a.php","./b.php","./c.php");
    ?>
    

    二、系统函数

    字符串函数数组函数文件函数等
    1、文件引入函数:Include函数和Require函数。(一般用来引入公用资源) 。
    区别
    (1)、报错
    Include如果报错会给出提示,后续代码继续运行。
    Require如果报错会给出提示,并停止运行后续代码。
    (2)、条件引用【以前的版本有这个问题,为了兼容性,Require最好放在文件头部】
    Include是有条件包含函数,放在文件的任意位置。
    Require是无条件包含函数,放在文件的头部。
    (3)、文件引用方式
    Include执行时需要引用的文件每次都要进行读取和评估。
    Require执行时需要引用的文件只处理一次。

    三、练习

    九九乘法表

    <!--九九乘法表
    string fun_99(int $start=1,int $end=9,bool $sort=true);
    $start 表示起始数 1-9 整数
    $end 表示结束值 1-9 整数
    $sort 表示排序 true:正序,false:倒序
     -->
    <?php
    function fun_99($start=1,$end=9,$sort=true){
    if ($start<1||$start>9) {
    	return '$start 必须要在1-9之间';
    }
    if ($end<1||$end>9) {
    	return '$end 必须要在1-9之间';
    }
    if ($end<$start) {
    	return '$start 必须要小于$end';
    }
    if ($start!=(int)$start||$end!=(int)$end) {
    	return '$start 和$end 必须是整数';
    }
    $str="";
    if ($sort==true) {
    	for ($i=$start; $i < =$end; $i++) { 
    		for ($j=1; $j <=$i ; $j++) { 
    			$str.=$i."*".$j."=".$i*$j."nbsp;";
    		}
    		$str.="<br/>";
    	}
    }
    else{
    	for ($i=$end; $i >=$start; $i--) { 
    		for ($j=1; $j <=$i ; $j++) { 
    			$str.=$i."*".$j."=".$i*$j."nbsp;";
    		}
    		$str.="<br/>";
    	}
    }
    return $str;
    }
    echo fun_99();
    ?>

    作者:liujf
    出处:http://www.cnblogs.com/liujf5566/
    本文版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利~

  • 相关阅读:
    08-STM32+W5500+AIR202基本控制篇-实现功能1,功能2和功能4服务器搭建完成-测试通信
    07-STM32+W5500+AIR202基本控制篇-实现功能1,功能2和功能4服务器搭建-安装MQTT软件(Linux系统)
    07-STM32+W5500+AIR202基本控制篇-实现功能1,功能2和功能4服务器搭建-安装MQTT软件(.Windows系统)
    Ceph剖析:Paxos算法实现
    Linux命令小结:crontab/netstat/iostat/sar
    Ceph剖析:数据分布之CRUSH算法与一致性Hash
    Prometheus监控+Grafana+Alertmanager告警安装使用 (图文详解)
    Go语言mgo使用情况
    gob,protobuf,json在golang中的序列化效率对比
    golang json性能分析详解
  • 原文地址:https://www.cnblogs.com/liujf5566/p/4909664.html
Copyright © 2011-2022 走看看