PHP中引用类型和值类型功能与用法示例

 更新时间:2019年02月26日 12:11:26   作者:Sweet小马  
这篇文章主要介绍了PHP中引用类型和值类型功能与用法,简单分析了php引用类型和值类型的概念、功能、使用方法及相关操作注意事项,需要的朋友可以参考下

本文实例讲述了PHP中引用类型和值类型功能与用法。分享给大家供大家参考,具体如下:

PHP中的四种简单类型和复杂类型array都是值类型。同类型间赋值传递的是值,即创建一个副本给新变量。

例如:

$int1 = 123;
$int2 = $int1;//直接传递的是值,只是做了一个叫int1的副本叫int2
$int2 = 456;
echo $int1;//输出 123
echo $int1 === $int2;//为假
$int1 = 123;
$int2 = &$int1;//取地址符,传递的是引用
$int2 = 456;
echo $int1;//输出 456
echo $int1 === $int2;//输出 1.即为真

对象都是引用类型的,默认传递的就是引用,即新变量是旧变量的别名。

class Person{
    public $name;
}
$p1 = new Person();
$p1->name = 'Sheldon';
$p2 = $p1;
$p2->name = 'Leonard';
echo $p1->name;//输出:Lenoard
echo $p1 === $p2;//输出:1 即全等 

如果想得到对象的一个副本(将复制旧变量的所有属性),从而互不影响,可以用clone关键字。

class Person {
    public $name;
}
$p1 = new Person();
$p1->name = 123;
$p2 = clone $p1;
echo $p2->name;//输出 123
$p2->name = 456;
echo $p1->name;//输出 123

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP中用正则表达式清除字符串的空白

    PHP中用正则表达式清除字符串的空白

    我们经常会处理来自用户输入或从数据库中读取的数据,可能在你的字符串中有多余的空白或制表符,回车等。存储这些额外的字符是有点浪费空间的。
    2011-01-01
  • PHP实现按之字形顺序打印二叉树的方法

    PHP实现按之字形顺序打印二叉树的方法

    这篇文章主要介绍了PHP实现按之字形顺序打印二叉树的方法,涉及php结合栈遍历二叉树的相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • PHP使用imap_open实现读取QQ邮箱

    PHP使用imap_open实现读取QQ邮箱

    这篇文章主要为大家详细介绍了PHP如何使用imap_open实现读取QQ邮箱功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • PHP laravel使用自定义邮件类实现发送邮件

    PHP laravel使用自定义邮件类实现发送邮件

    这篇文章主要为大家详细介绍了PHP laravel如何通过自定义邮件类实现发送邮件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-10-10
  • 用PHP实现的随机广告显示代码

    用PHP实现的随机广告显示代码

    用PHP实现的随机广告显示代码...
    2007-06-06
  • 解析在PHP中使用全局变量的几种方法

    解析在PHP中使用全局变量的几种方法

    本篇文章是对在PHP中使用全局变量的几种方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php中使用websocket详解

    php中使用websocket详解

    网上也有一些关于php的websocket的实现,但是只有自己亲手写过之后才知道其中的感受。下面就把个人的一些心得给大家分享下
    2016-09-09
  • php实现过滤字符串中的中文和数字实例

    php实现过滤字符串中的中文和数字实例

    这篇文章主要介绍了php实现过滤字符串中的中文和数字的方法,实例分析了php操作中文和数字匹配的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Gregarius中文日期格式问题解决办法

    Gregarius中文日期格式问题解决办法

    Gregarius支持中文的程度很不错,唯一的缺陷就是在日期格式上会出现乱码。其实只要修改根目录下util.php文件的rss_locale_date方法就可以解决这个问题,希望可以帮助使用Gregarius的朋友,修改后的方法代码如下:
    2008-04-04
  • PHP函数http_build_query使用详解

    PHP函数http_build_query使用详解

    这篇文章主要介绍了PHP函数http_build_query使用详解,分别对传入一维关联数组、一维索引数组、二维数组、传入对象等给出示例,需要的朋友可以参考下
    2014-08-08

最新评论