您好,欢迎访问一九零五行业门户网

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

函数定义:1.函数是一个被命名的,2.独立的代码段,3.函数执行特定任务,4.并可以给调用它的程序返回一个值.
函数的优点:1.提高程序的重用性,2.提高程序的可维护性,3.可以提高开发效率,4.提高软件的可靠性,5.控制程序的复杂性.
函数的声明:
 function 函数名(){ 
   } 
 function 函数名(参数1,参数2,参数...) 
 { 
   函数体 
  }
 function 函数名() 
  { 
   函数体; 
  返回值; 
 } 
  function 函数名(参数列表...) 
  { 
   函数体; 
   返回值 
 } 
注意:
一、函数必须调用才能执行,可以在声明之前调用,也可以在声明之后调用.
二、函数名命名和变量一样,aaa bbb ccc aaabbbccc(第一单词小写,以后每个单词首字母大写)
三、函数在声明时不能重名
四、可以通过向函数传递参数,改变函数的行为
形参:在声明函数时,声明的参数,参数就是变量,多个参数用,分开
实参:调用函数时传给形参数值(数据,也可以是变量)
五、如果没有返回值则称为过程
六、通过使用return语句返回数据
七、函数执行到return语句就结束,不要再这个语句后写代码,也可以用return结束函数的执行.
函数名的作用:
1.调用函数,开始执行函数
2.可以向函数中传递数据
3.函数名就是返回的值
php 函数:所有的函数都使用关键词 function() 来开始.
命名函数 - 函数的名称应该提示出它的功能,函数名称以字母或下划线开头.添加 { - 开口的花括号之后的部分是函数的代码.
插入函数代码,添加一个 } - 函数通过关闭花括号来结束.
<html> 
<body> 
<?php
function writemyname()
{
echo "david yang";
}
writemyname();
?> 
</body> 
</html> 
另一种输出方式,现在,我们要在 php 脚本中使用这个函数了:
<html> 
<body>
<?php
function writemyname()
{
echo "david yang";
}
echo "hello world!<br />; 
echo my name is ; 
writemyname(); 
echo .<br />that's right, ; 
writemyname(); 
echo  is my name.; 
?> 
</body> 
</html> 
//以上代码的输出: 
hello world! 
my name is david yang. 
that's right, david yang is my name 
函数引用&:
function &c()  
{

&c是什么意思,有什么好处与坏处 这个我也不明白
function c(&$var)  
{  
$globals['mall'] =&$var;  
}  
&$var和普通传值有什么区别,这个是引用的意思,可以在函数内部修改$var的值,举个例子:
function c($var){ 
$var=$var+1; 

$var=10; 
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()函数是将两个数组的键值进行比较,返回键值交集的数组.
但实际应用中也遇到了一些小问题,正如下,实例:
<?php
$array = array("red"=>red,green=>red4,red15=>red,7=>level,width=>red,azzzz1=>art,peak=>158);         
$array1 = array(red=>red2,greena=>red,red15=>red,7=>level,width=>red,azzzz=>art,peak=>158);         
$num = array_intersect($array,$array1);         
print_r ($num);        echo <br />;        
 $num = array_intersect_assoc($array,$array1);         
print_r($num);        echo <br />; 
//开源代码phpfensi.com 
$num = array_intersect_key($array,$array1);         
print_r ($num);     
?>
//运行结果:
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()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值
实例:
<?php
$a = array(
'a' => '你好', 
        'b' => 'bb' 
); 
//header('content-type:application/json; charset=utf-8'); 
echo json_encode($a).n; 
function replace_unicode_escape_sequence($match) 

        return mb_convert_encoding(pack('h*', $match[1]), 'utf-8', 'ucs-2be'); 

echo preg_replace_callback('/\u([0-9a-f]{4})/i','replace_unicode_escape_sequence',json_encode($a)).n; 
?>
其它类似信息

推荐信息