原文:PHP 11:函数

本文章介绍PHP的函数。
如何学习呢?可以从以下几个方面考虑

  1. 函数是如何定义的?区分大小写吗?
  2. 函数的参数是如何定义的?
  3. 函数是否支持重载?
  4. 函数的返回值是如何定义的。
  5. 函数有变量函数吗?

如果把上面的问题搞清楚了,相信函数你也就掌握了。还是一个个看吧。

  1.  函数是如何定义的?区分大小写吗?

首先函数对大小写不敏感。但是还是建议你采用和函数声明时的一样。
        函数是如何定义的呢?语法可以为:

<?php
function func($arg_1, $arg_2, , $arg_n)
{
   echo "Example function.\n";
   return $retval;
}
?> 

其实和其他语言差不多。不过函数声明里不需要显式的说明返回类型。和JavaScript差不多。
  那么是不是和C语言一样,函数先定义后使用呢?这个问题非常好。在PHP3中,确实需要这样,但是后期版本则没有限制了。
  由于PHP存在函数种的函数或条件函数,所以这2种情况下需要先定义后使用,要是没有定义函数你却使用了,系统会出问题的。函数中的函数倒是和Python有些类似。
 条件函数的例子可以是:

         ?>

输出结果为:


Call function helloWorld():Hello,world

函数中的函数可以是:

             ?> 

输出结果是:

I don't exist until func() is called. I have alrady made


2. 函数的参数是如何定义的?

    和通常使用的函数参数一样,参数列表用逗号分隔。那么参数是按值传递还是按引用传递呢?答案是值传递。如何按引用传递呢?其实和C++里一样,在参数前使用&符号。
   那么如何设置缺省的参数值呢?这个和C++一样,在参数列表里直接写上就行了。例如:

<?php
function MakeComputerBrand($brand = "IBM")
{
   return "Making ".$brand." computer now.<br>";
}
echo MakeComputerBrand();
echo MakeComputerBrand("DELL");
echo MakeComputerBrand("HP");
echo MakeComputerBrand("Lenevo");
?> 

输出的结果是:

Making IBM computer now.
Making DELL computer now.
Making HP computer now.
Making Lenevo computer now.


3. 函数是否支持重载?

   不支持。

4 .函数的返回值是如何定义的

   如果单独返回一个值或不返回值,和普通语言一样,return就可以。但是若返回多个值,一种方法是返回一个数组。例如:

);
}
list ($zero, $one, $two) = small_numbers();
?> 


5. 函数有变量函数吗?


  有,和可变变量一样。

PHP 11:函数的更多相关文章

  1. c++11 函数模板的默认模板参数

    c++11 函数模板的默认模板参数 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> ...

  2. Day 11 函数名,闭包,装饰器. +作业

    '''一.函数名.def func(): print(5555)print(func)#输出结果 <function func at 0x026B5E88> 打印函数地址. # 1. 函数 ...

  3. python 基础篇 11 函数进阶----装饰器

    11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是 ...

  4. python基础11 ---函数模块1

    函数模块 一.函数模块的作用(为什么要有函数模块) 1.函数模块可以减少代码量 2.函数模块方便阅读 3.函数模块维护性强二.函数模块的本质以及调用方法 1.函数模块的本质就是一个.py结尾的文件,该 ...

  5. python学习11函数

    '''''''''函数:1.定义:指通过专门的代码组织,用来实现特定的功能的代码段,具有相对独立性,可供其他代码重复调用2.语法:def 函数名([参数]): 函数体[return 返回值]3.函数名 ...

  6. NS 802.11函数分析(一)

    recv函数有两个作用,不仅是接收其他节点发送的包,而且当节点接收到其他包的时候也会调用recv() 首先给出NS2中recv的源码,和一些注释: void Mac802_11::recv(Packe ...

  7. Python学习笔记11—函数

    建立第一个函数 /usr/bin/env Python #coding:utf-8 def add_function(a,b): c = a+b print c if __name__==" ...

  8. day 9~11 函数

    今日内容 '''函数四个组成部分函数名:保存的是函数的地址,是调用函数的依据函数体:就是执行特定功能的代码块函数返回值:代码块执行的结果反馈函数参数:完成功能需要的条件信息​1.函数的概念2.函数的定 ...

  9. python3学习笔记11(函数)

    函数 python提供了许多内建函数,例如print(). 自己创建的函数,叫做用户自定义函数. 定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称 ...

  10. python note 11 函数名的使用、闭包、迭代器

    1.函数名就是一个变量 def func(): print("我是一个小小的函数") a = func print(a) #输出变量存放地址 <function func a ...

随机推荐

  1. Mybatis如何SQL声明表名称参数

    insert into prefix_${table_name} (a, b, c) values (#{a}, #{b}, #{c}) ${} 它代表了直接使用字面(literal value) # ...

  2. java major version(转)

    在jar包中,用winrar解压一个类文件,然后在命令行下面输入 javap -verbose classname 会输出一些信息,大致如下: Compiled from "HtmlCraw ...

  3. Android网络通信Volley框架源代码浅析(三)

    尊重原创 http://write.blog.csdn.net/postedit/26002961 通过前面浅析(一)和浅析(二)的分析.相信大家对于Volley有了初步的认识,可是假设想更深入的理解 ...

  4. zoom的学习

    上大学做阶段项目时遇到了一个非常奇特的现象:kindEditor上传图片功能失效,可是把jsp所引用的样式去掉就好用,这说明样式有问题,于是删一个样式測试一下,就这样罪魁祸首落在了zoom身上,这是我 ...

  5. Cocos2d-x 脚本语言Lua使用

    Cocos2d-x 脚本语言Lua使用 前面几篇博客已经把Lua的相关基础知识介绍了.本篇博客就来介绍一下,怎样在Cocos2d-x项目中使用Lua这门脚本语言进行开发.因为笔者使用的时Mac系统.所 ...

  6. WSHPSRS-匹克选择列表生成器-SRS(R12.2.3)

     匹克选择列表生成器-SRS(R12.2.3) --US Program:Pick Selection List Generation - SRS Short Name:WSHPSRS Appli ...

  7. Linux IPC(Inter-Process Communication,进程间通信)之管道学习

    1.标准流管道 管道操作支持文件流模式,用来创建链接还有一个进程的管道,通过函数popen和pclose popen的详细介绍在本blog:Linux 多进程学习中有具体介绍 2.无名管道(PIPE) ...

  8. javaScript在私有的属性和方法

    javaScript并没有什么特别的语法来代表私人.保.或公共的属性和方法,在这一点上与 java或其他语言是不同的.JavaScript大家是共同的所有对象: var myobj={ mypop:1 ...

  9. P90

    #include<stdio.h> #define N 4 int fun(int a[][N]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) f ...

  10. AngularJS html5Mode与ASP.NET MVC路由共存

    前言 很久之前便听说AngularJS,非常酷,最近也比较火,我也在持续关注这个技术,只是没有认真投入学习.前不久公司找我们部门做一个OA系统(想省下几万大洋的费用),第一时间便想到AngularJS ...