01PHP 引用赋值和传递赋值

PHP中变量的引用赋值是通过&符号进行的,在这里我们介绍下&符号引入的作用

1.先介绍下传递赋值

<?php

$a=1;

$b=3;                         从内存的角度上分析:$a指向一个地址,对应的数据是1   $b指向一个地址,对应的数据是3

$a=$b;                         现在执行$a=$b 是将$b中的数值赋给$a 这时 $a=3

echo $a,$b;//3  3              因此两个变量的值都是3 3

>

2.引用赋值

<?php

$a=1;

$b=2;

$a=&$b;              现在执行的是将b的地址赋给$a $a与$b的地址相同 两个变量的引用指向同一个内存空间

数据是2

echo $a,$b;//2 2

unset($b);       变量有个机制 假如有多个变量指向同一个地址 取消其中一个变量  其他变量不受影响

echo $a;//2

>

时间: 2024-12-28 11:09:28

01PHP 引用赋值和传递赋值的相关文章

“复制赋值”和“移动赋值”的思考

概述 从 C++ 11 中开始,该语言支持两种类型的分配:复制赋值和移动赋值.其中的内部细节是咋样的呢?今天跟踪了一下,是个蛮有趣的过程.下面我们以一个简单的类来做个分析. #ifndef HASPTR_H #define HASPTR_H #include <string> class HasPtr { public: friend void swap(HasPtr&, HasPtr&); HasPtr(const std::string& s = std::stri

【c++】深赋值与浅赋值

// 深赋值与浅赋值 // 浅赋值,这样的浅赋值会导致程序崩溃,与浅拷贝一个理 #include <iostream> using namespace std; class S_Evaluate; ostream& operator<<(ostream& out, const S_Evaluate &s); class S_Evaluate { friend ostream& operator<<(ostream& out, co

jquery引用方法时传递参数

经常到网上去下载大牛们写的js插件.每次只需将js引用并设置下变量就行了,但一直没搞明白原理(主要是大牛们的代码太简练了-,-). 这次弄清了如何传递.设置多个(很多个)参数. 如 方法为function lunbo(){}; 在调用.设置的时候写: lunbo({ speed:200, wrapper:'#id', ease:'easing' }) 则,在方法内获取的时候: function lunbo(options){ var set=$.extend({},options); var _

变量的直接赋值和间接赋值

直接赋值:直接赋予参数值的方式称为直接赋值. 间接赋值:由交互的方式赋值为间接赋值.(a就是一个变量) 原文地址:https://www.cnblogs.com/zteng/p/10303728.html

PHP+JavaScript+HTML变量之间赋值及传递

本文是最近做WAMP网站的学习知识,这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容,所以就涉及到一些相关变量赋值传递的内容,包括:HTML超链接传递值通过JavaScript显示.JavaScript变量转换成PHP变量.超链接实现传递给PHP连接数据库(重点).PHP输出JavaScript内容. 一. HTML超链接传递值 首先讲述通过HTML超链接<A href=></A>实现跳转,再通过JavaScript实现获取传递的值.代码如下:其中testA.php是超

Js的引用赋值与传值赋值

要说js的赋值方式时首先要说明js的数值类型:基本类型和引用类型. 1.基本类型 基本的数据类型有:undefined,boolean,number,string,null. 基本类型存放在栈区,访问是按值访问的,就是说你可以操作保存在变量中的实际的值. 当基本类型的数据赋值时,赋得是实际的值,a和b是没有关联关系的,b由a复制得到,相互独立.(字面量的才是基本类型) var a=10; var b=a; console.log(a+','+b);    // 10,10a++;console.

程序启动的顺序以及实例变量相互赋值、传递拷贝的理解

1 public class InstanceInitializer { 2 private int i = 1; 3 private int getI() { 4 return i; 5 } 6 private int j = getI(); 7 8 9 public InstanceInitializer() 10 { 11 i = 2; 12 } 13 public static void main(String[] args) { 14 InstanceInitializer ii =

PHP变量引用赋值与变量赋值变量的区别

变量默认总是传值赋值.那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量.这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量.有关这种类型的赋值操作,请参阅表达式一章. <?php $foo='abc'; $b=$foo; $b="my name is $b"; echo "$b"; //my name is abc echo "$foo"; // abc PHP

关于C#编程中引用与值类型赋值的一些容易犯错的地方

值类型与引用类型的区别在于:值类型在赋值的时候是拷贝值,引用类型在赋值的时候的拷贝引用.记住这一个原则,我们再来分析一些具体情况: 1 PointStruct pt1 = new PointStruct(2,2); 2 PointStruct pt2 = pt1; 3 PointStruct[] ptsArray = new PointStruct[3]; 4 ptsArray[0] = pt1; 5 ptsArray[1] = pt2; 6 List<PointStruct> ptsList