本站非营利性网站,只接受合法正规的备案网站作为展示储存收藏,提交你的网站获得展示流量,收益的机会。网址报错反馈发邮件到邮箱 se365@163.com

                
提交网站
  • 网站:76322
  • 待审:4
  • APP:583
  • 文章:304450
  • 会员:56047
机械工业信息 AI训练模型 AI配音文字 AI办公网站 AI绘画工具 AIchat 生活服务 休闲娱乐 电脑网络 企业网站

名站导航为爱好php程序的朋友们提供php相关的教程知识。

关于php的引用(就是在变量或者函数、对象等前面加上&符号)的作用,我们先看下面这个程序。NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    <?php
$a = 100; //声明变量a
$b = &$a; //声明变量b,引用自变量a
echo "$a <br />";  
echo "$b <br />";
$a  ; //变量a自增1
echo "$a <br />";
echo "$b <br />";//查看变量b,也增加了1,说明使用的是同一存储单元
?>

程序运行结果:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

100 
100 
101 
101

很多人误解php中的引用跟C当中的指针一样,事实上并非如此,而且很大差别。C语言中的指针除了在数组传递过程中不用显式申明外,其他都需要使用*进行定义,而php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理,就是除非发生写操作,指向同一个地址的变量或者对象是不会被拷贝的。NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

php默认为传值传递:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

 <?php    
$a = 20;
$b = $a;
$a = $a   10; 
echo $a.' and '.$b; 
?>

程序运行结果:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

30 and 20

要是想变为地址传递需要加&,既:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

  <?php
$a = 20;
$b = &$a; 
$a = $a   10; 
echo $a.' and '.$b; 
?>

程序运行结果:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

30 and 30

也就是说,&把$a的地址传给了$b,这样的话这两个变量现在共享一个内存的存储区域,就是说它们的值是一样的。NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

同样的语法可以用在函数中,它返回引用,以及用在 new 运算符中:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<?php
$bar =& new fooclass();
$foo =& find_var($bar);
?>

引用做的第二件事是用引用传递变量。这是通过在函数内建立一个本地变量,并且该变量在呼叫范围内引用了同一个内容来实现的。说的通俗点就是一个函数的参数是一个本地变量的引用。下面再举例说明一下:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<?php
function foo(&$val1, $val2) {
	$val1  = 1;
	$val2  = 1;
}
$a=5;
$b=10;
foo($a,$b);
echo $a;
echo $b;
?>

运行这段代码是给函数传递两个参数,一个是引用$a的内容,一个是$b的值,在执行此函数后,发现$a的内容改变了,而$b的内容则没有变化。NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

PhP程序引用的第三个用法是引用返回,这个用法理解起来有点难度,引用返回用在当你想用函数找到引用应该被绑定在哪一个变量上面时。当返回引用时,使用此语法:说的简单点,就还是引用函数的返回。但和参数传递不同,必须在函数定义和函数引用这两个地方都用 & 符号。下面举个例子:NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<?php
function &find_var ($param)
{
    /* ...code... */
    return $found_var;
}
$foo =& find_var ($bar);
$foo->x = 2;
?>

这个例子给$foo 赋值是函数find_var的返回引用,所以在给$foo->x赋值时就是给find_var的返回引用赋值,而不是简单的赋值。NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

PhP程序引用的最后一个用法是引用定位,主要有两个应用:一个是global 引用,当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是和$var =& $GLOBALS["var"];是一样的。另外一个是$this的用法,在一个对象的方法中,$this 永远是调用它的对象的引用。NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

名站网址导航

PhP程序模板引擎SmartyNJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

NJ1aichat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,

标签:

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76322

    网站

  • 583

    APP

  • 304450

    文章

  • 56047

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

康康体检网2025-07-22

康康体检是全国最大的体检小程序

走糖健康微信小程序2025-07-22

走糖健康是天羿科技网络有限公司

青岛友信口腔(图文)2025-07-22

青岛友信口腔_作者自评: 山东省

DeepSeek手机app下载2025-07-19

思考更深,推理更强,在网页端、APP

卖车上瓜子-瓜子二手车2025-07-19

瓜子二手车成立于2015年9月,是中

微信抢红包透视挂-抢红包神器手机安卓版下载2025-04-13

注意根本不存在这款软件,不要被骗