返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何在php中实现对象传值与引用传值
  • 205
分享到

如何在php中实现对象传值与引用传值

2023-06-06 14:06:14 205人浏览 独家记忆
摘要

今天就跟大家聊聊有关如何在PHP中实现对象传值与引用传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。变量赋值与对象赋值对比<?php   //&

今天就跟大家聊聊有关如何在PHP中实现对象传值与引用传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

变量赋值与对象赋值对比

<?php   // 声明一个变量并赋值   $a = 1;   // 将数据类型的值 赋值 给一个变量   $b = $a;   // 修改$a的值   $a = 2;   // $a和$b是两个独立的内存空间修改其中一个另一个不受影响  echo $b; // 1   class Person{    public $name;    public $age;  }  // 将对象类型的数据 赋值 给一个变量  $p = new Person;  // 通过对属性修改值,来确定面向对象中 对象的传值方式  $p->name = 'jesse';  // 若是成功修改值,则是引用传值   echo $p->name; // jesse?>

案例解释:

在这里通过变量的赋值方式与对象的赋值方式方式相对比,代码中 $b =                a           ;           的           赋           值           方           式           为           “           拷           贝           赋           值           ”           ,           故           在           修           改           其           源           值           (             a; 的赋值方式为“拷贝赋值”,故在修改其源值(        a;的赋值方式为“拷贝赋值”,故在修改其源值(a的值)的情况下,               b           的           值           不           受           影           响           。             b的值不受影响。        b的值不受影响。a与$b的内存关系图如下:


如何在php中实现对象传值与引用传值

而代码                p           −           >           n           a           m           e                =             ′               j           e           s           s                e             ′               ;           将           数           据           类           型           赋           值           给             p->name = 'jesse';将数据类型赋值给        p−>name=′jesse′;将数据类型赋值给p变量,通过$p修改对象内部的值成功,对比变量的传值方式,证明这是引用传值,内存关系图如下:

如何在php中实现对象传值与引用传值

<?php   class Person  {    public $name;    public $age;    // 将对象类型的数据 赋值 给一个变量    $p = new Person;    // 通过对属性修改值,来确定面向对象中 对象的传值方式    $p->name = 'jesse';    // 将对象赋予另一变量    $m = $p;    // 另一变量修改属性值    $m->name = 'Marry';    // 输出源变量 赋值变量访问内部属性的结果    echo $p->name, $m->name;  }?>

$m =                p           ;           代           码           为           本           篇           文           章           的           最           “           点           睛           ”           的           代           码           ,           等           号           右           边           为           是           一           个           对           象           ,           左           边           是           一           个           变           量           ,           那           么           犀           利           的           问           题           来           了           ,             p;代码为本篇文章的最“点睛”的代码,等号右边为是一个对象,左边是一个变量,那么犀利的问题来了,        p;代码为本篇文章的最“点睛”的代码,等号右边为是一个对象,左边是一个变量,那么犀利的问题来了,m是将对象拷贝一份?还是按引用传递呢?该代码内存关系如下:


如何在php中实现对象传值与引用传值

所以,最后两个对象的属性值均被修改为Marry!!!

那按引用传值会是怎么个情况?

<?php   class Person  {    public $name;     public $age;   }   // 将对象类型的数据 赋值 给一个变量   $p = new Person;   // 通过对属性修改值,来确定面向对象中 对象的传值方式  $p->name = 'jesse';  // 将对象赋予另一变量  $m = &$p;  // 另一变量修改属性值  $m->name = 'Marry';  // 输出源变量 赋值变量访问内部属性的结果  echo $p->name, $m->name;?>

如何在php中实现对象传值与引用传值

看完上述内容,你们对如何在php中实现对象传值与引用传值有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网PHP编程频道,感谢大家的支持。

--结束END--

本文标题: 如何在php中实现对象传值与引用传值

本文链接: https://lsjlt.com/news/247390.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在php中实现对象传值与引用传值
    今天就跟大家聊聊有关如何在php中实现对象传值与引用传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。变量赋值与对象赋值对比<php   //&n...
    99+
    2023-06-06
  • PHP中传值与传引用的区别
    PHP中传值与传引用的区别:传值要重新构造一份原参数的拷贝,而传引用则不需要。传值改变变量值的大小,都不会影响到函数外边的变量值,而传引用对值的任何改变,在函数外部也有所体现。传值对参数的修改不会改变原参数,而传引用时可以直接修改原参数。...
    99+
    2024-04-02
  • PHP中传值与传引用有什么区别
    在PHP中,传值和传引用是函数参数传递的两种方式。1. 传值:函数传递的是实参的值的副本。在函数内部对参数的修改不会影响到外部的实参...
    99+
    2023-09-27
    PHP
  • 怎么在Java中实现值传递和引用传递
    怎么在Java中实现值传递和引用传递?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了...
    99+
    2023-06-14
  • JavaScript引用赋值与传值赋值实例分析
    这篇文章主要介绍“JavaScript引用赋值与传值赋值实例分析”,在日常操作中,相信很多人在JavaScript引用赋值与传值赋值实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript引...
    99+
    2023-06-30
  • phpcms v9在模版里用php中 get传值的方法传值
    phpcms v9是一款常用的内容管理系统,它可以轻松地创建和管理动态发布的内容。在使用phpcms v9时,如果我们需要在模板里使用php代码,同时还需要传递参数,那么我们可以使用get传值的方法。get传值是指在浏览器的地址栏里传递参数...
    99+
    2023-05-24
  • Java如何实现值传递
    这篇文章主要介绍了Java如何实现值传递,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。值传递是在一个函数中,调用另外一个函数,其中含有参数传递的情况。往往值传递就是把数据传递...
    99+
    2023-06-03
  • PHP 通过引用与通过值传递变量
    在 PHP 中,我们可以通过两种不同的方式将变量传递给函数:按值和按引用。 了解这两种传递变量的方法之间的区别对于编写高效且有效的 PHP 代码很重要。 按值传递变量 默认情况下,PHP 按值将...
    99+
    2024-02-27
  • 如何利用Ajax实现在脚本里传值
    小编给大家分享一下如何利用Ajax实现在脚本里传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 页...
    99+
    2024-04-02
  • PHP中值传递的作用与应用
    PHP中值传递的作用与应用 值传递是一种PHP中常见的参数传递方式,通过值传递,函数在调用过程中会将实际参数的值复制给形式参数,这样在函数内部对形式参数的修改不会影响到实际参数的值。值...
    99+
    2024-03-09
    应用 php 值传递
  • 怎么在Android中利用Activity实现跳转与传值
    今天就跟大家聊聊有关怎么在Android中利用Activity实现跳转与传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android Activity的跳转与传值详解Activi...
    99+
    2023-05-31
    android activity roi
  • VB.NET如何实现窗体传值
    这篇文章给大家分享的是有关VB.NET如何实现窗体传值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VB.NET是由微软公司开发的一款专门面向对象的编程语言。可以帮助开发人员创造一个稳固性极强的开发环境,帮助编程...
    99+
    2023-06-17
  • react跳转传值如何实现
    本篇内容主要讲解“react跳转传值如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react跳转传值如何实现”吧!react跳转传值的实现方法:1、通过“history.push”或“N...
    99+
    2023-07-05
  • 揭秘 PHP 函数调用中的值传递和引用传递
    php 中函数调用既可使用值传递也可使用引用传递。默认情况下为值传递,函数接收参数的副本,对其修改不影响原始值。而引用传递通过在参数前加 &amp; 符号来声明,函数直接修改传递...
    99+
    2024-04-16
    引用传递 值传递
  • springmvc中controller与jsp怎么实现传值
    本篇文章给大家分享的是有关springmvc中controller与jsp怎么实现传值,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在springmvc中的controller...
    99+
    2023-05-31
    springmvc jsp controller
  • PHP中变量如何进行传值
    这篇文章给大家分享的是有关PHP中变量如何进行传值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。变量的传值方式:1,变量的传值方式,是指“一个变量,传给另-个变量”的内部细节形式- -单对单;2,变量的传值方式,...
    99+
    2023-06-20
  • Vue中如何实现父子组件传值
    Vue中如何实现父子组件传值,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(一)传递数值1.子组件:Header.vue<templat...
    99+
    2024-04-02
  • Vue中父子组件如何实现传值
    目录前言一、将子组件引入父组件二、父组件如何传值给子组件三、子组件如何接收父组件传过来的值并使用(props)四、子组件如何传值给父组件($emit)五、父组件使用子组件传过来的值总...
    99+
    2023-01-28
    Vue父子组件 Vue组件传值 Vue父子组件传值
  • AngularJS如何实现跨页面传值
    这篇文章主要介绍了AngularJS如何实现跨页面传值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用的ionic这里使用ui-router...
    99+
    2024-04-02
  • 如何实现JavaScript的共享传递和按值传递
    这期内容当中小编将会给大家带来有关如何实现JavaScript的共享传递和按值传递,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。关于JavaScript如何将值传递给函数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作