php函数前加&,php函数定义与函数&引用用法_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()" 来开始

命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。

添加 "{" - 开口的花括号之后的部分是函数的代码。

插入函数代码

添加一个 "}" - 函数通过关闭花括号来结束。

function writeMyName()

{

echo "David Yang";

}

writeMyName();

?>

//另一种输出方式

现在,我们要在 PHP 脚本中使用这个函数了:

<

html>

function writeMyName()

{

echo "David Yang";

}

echo "Hello world!

";

echo "My name is ";

writeMyName();

echo ".

That's right, ";

writeMyName();

echo " is my name.";

?>

以上代码的输出:

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()函数是将两个数组的键值进行比较,返回键值交集的数组。

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

实例:

"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 "

"; $num = array_intersect_assoc($array,$array1); print_r($num); echo "

"; $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()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值

实例

$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";

?>

http://www.bkjia.com/PHPjc/445346.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445346.htmlTechArticlefunction writeMyName() { echo David Yang; } writeMyName(); ? //另一种输出方式 现在,我们要在 PHP 脚本中使用这个函数了: html function writeMyName() { echo...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值