热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php函数定义与函数&引用用法

函数定义:1.函数是一个被命名的,2.独立的代码段,3.函数执行特定任务,4.并可以给调用它的程序返回一个值.函数的优点:1.提高程序的重用性,2.提高程序的可维护性,3.可以提高开发效率,4.提高软件的可靠...
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当前位置:首页 > PHP教程 > php函数 > 列表
php函数定义与函数&引用用法
发布: 来源:  添加日期:2014-09-18 17:02:11 浏览: 评论:0 

函数定义:1.函数是一个被命名的,2.独立的代码段,3.函数执行特定任务,4.并可以给调用它的程序返回一个值.

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

函数的声明:

  1.  function 函数名(){ 
  2.    } 
  3.  function 函数名(参数1,参数2,参数...) 
  4.  { 
  5.    函数体 
  6.   }
  7.  function 函数名() 
  8.   { 
  9.    函数体; 
  10.   返回值; 
  11.  } 
  12.   function 函数名(参数列表...) 
  13.   { 
  14.    函数体; 
  15.    返回值 
  16.  } 

注意:

一、函数必须调用才能执行,可以在声明之前调用,也可以在声明之后调用.

二、函数名命名和变量一样,aaa bbb ccc aaaBbbCcc(第一单词小写,以后每个单词首字母大写)

三、函数在声明时不能重名

四、可以通过向函数传递参数,改变函数的行为

形参:在声明函数时,声明的参数,参数就是变量,多个参数用,分开

实参:调用函数时传给形参数值(数据,也可以是变量)

五、如果没有返回值则称为过程

六、通过使用return语句返回数据

七、函数执行到return语句就结束,不要再这个语句后写代码,也可以用return结束函数的执行.

函数名的作用:

1.调用函数,开始执行函数

2.可以向函数中传递数据

3.函数名就是返回的值

PHP 函数:所有的函数都使用关键词 "function()" 来开始.

命名函数 - 函数的名称应该提示出它的功能,函数名称以字母或下划线开头.添加 "{" - 开口的花括号之后的部分是函数的代码.

插入函数代码,添加一个 "}" - 函数通过关闭花括号来结束.

  1.  
  2.  
  3. function writeMyName() 
  4.   { 
  5.   echo "David Yang"
  6.   } 
  7.  
  8. writeMyName(); 
  9. ?> 
  10.  
  11.  

另一种输出方式,现在,我们要在 PHP 脚本中使用这个函数了:

  1.  
  2.  
  3.  
  4. function writeMyName() 
  5.   { 
  6.   echo "David Yang"
  7.   } 
  8.  
  9. echo "Hello world!"
  10. echo "My name is "
  11. writeMyName(); 
  12. echo ".That's right, "
  13. writeMyName(); 
  14. echo " is my name."
  15. ?> 
  16.  
  17.  
  18. //以上代码的输出: 
  19. Hello world! 
  20. My name is David Yang. 
  21. That's right, David Yang is my name 

函数引用&:

  1. function &c()  
  2.  

&c是什么意思,有什么好处与坏处 这个我也不明白

  1. function c(&$var)  
  2. {  
  3. $GLOBALS['MALL'] =&$var;  
  4. }  

&$var和普通传值有什么区别,这个是引用的意思,可以在函数内部修改$var的值,举个例子:

  1. function c($var){ 
  2. $var=$var+1; 
  3. $var=10; 
  4. c($var); 

echo $var;这个输出是10,如果函数改成function c(&$var){}

系统函数用法:PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题,求两个数组的交集问题可以使用array_intersect(),array_inersect_assoc,array_intersect_key来实现,其中array_intersect()函数是求两个数的交集,返回一个交集共有元素的数组(只是数组值得比较)、array_intersect_assoc()函数是将键值和值绑定,一起比较交集部分、array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组.

但实际应用中也遇到了一些小问题,正如下,实例:

  1. $array = array("red"=>"Red","green"=>"red4","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz1"=>"art","peak"=>158);         
  2. $array1 = array("red"=>"Red2","greena"=>"red","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz"=>"art","peak"=>158);         
  3. $num = array_intersect($array,$array1);         
  4. print_r ($num);        echo "";        
  5.  $num = array_intersect_assoc($array,$array1);         
  6. print_r($num);        echo ""
  7. //开源代码phpfensi.com 
  8. $num = array_intersect_key($array,$array1);         
  9. print_r ($num);     
  10. ?> 
  11.  
  12. //运行结果: 
  13.  
  14. Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [azzzz1] => art [peak] => 158 ) Array ( [Red15] => Red [7] => Level [Width] => Red [peak] => 158 ) Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [peak] => 158 ) 

总结:

1.array_intersect()函数进行的比较只有数组值的比较,而且存在如”Red“和”Red2“比较时会返回"Red",反之则不会返回"Red2";

2.array_intersect_assoc()函数是将数组的值与键值一起比较,而且不会存在array_intersect的情况,适用于较严格的比较;

3.array_intersect_key()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值

实例:

  1. $a = array
  2.         'a' => '你好'
  3.         'b' => 'bb' 
  4. ); 
  5. //header('Content-Type:application/json; charset=UTF-8'); 
  6. echo json_encode($a)."n"
  7. function replace_unicode_escape_sequence($match
  8.         return mb_convert_encoding(pack('H*'$match[1]), 'UTF-8''UCS-2BE'); 
  9. echo preg_replace_callback('/\u([0-9a-f]{4})/i','replace_unicode_escape_sequence',json_encode($a))."n"
  10. ?>

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
author-avatar
手机用户2502940425
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有