php 赋值和引用赋值使用说明

1、值赋值:将赋值表达式的值复制到变量。例子:

 代码如下 复制代码

$number=15;
$age=20;
$sum=12+"15";//$sum=27

2.创建数组有变量赋值和调用函数两种方法,这里先讲前者。

使用变量赋值方法很简单,直接给一个数组变量赋值即可。

实例:

 代码如下 复制代码

 <?php
 $lang[]="php";
 $lang[]="html";
 $lang[]="css";
 echo "$lang[0] <br>";
 echo "$lang[1] <br>";
 echo "$lang[2] <br>";
?>

三个赋值语句产生的数组内容:

0=>php

1=>html

2=>css

3、引用赋值:所创建的变量与另一个变量引用的内容相同。因此如果多个变量引用了同一内容,修改其中任一个变量,在其余的变量上都会有反映。在等号后面加一个&符号($val2=& $val1)就可以完成引用赋值或者将&符号放在引用的变量前面($val2= &$val1):

 代码如下 复制代码

$val1="hello";
$val2=& $val1;
$val2="goodby";
echo '$val1 is '.$val1."
";
echo '$val2 is '.$val2."
";
?>

$val1 is goodby
$val2 is goodby

foreach引用赋值的问题

代码:

 代码如下 复制代码

<?php

$a = array(
    'a' => 'aa',
    'b' => 'bb',
    'c' => 'cc',
);
foreach( $a  as &$v){
;
}
print_r($a);

foreach( $a  as $v){

}

print_r($a);

----------------------

仔细想想,其实是简单的引用问题,第一次foreach完毕,$v实际是$a['c']的引用,循环时,每次对$v的赋值都会会改变$a['c']的值,而最后一次对$v的赋值是$v=$a['c'],$a['c']在上一次被赋值为$a['b'],所以会会出现上述情况

时间: 2024-08-03 16:53:00

php 赋值和引用赋值使用说明的相关文章

php 传值赋值与引用赋值的区别_php技巧

传值赋值:当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋予到目标变量.这意味着,例如,当一个变量的值赋予另一个变量时,改变其中一个变量的值,将不会影响到另一个变量. 复制代码 代码如下: <?php <?php $a=123; $a=123; $b=$a; $b=&$a; $a=321; $a=321; Echo"$a,$b";//显示"321,123" Echo"$a,$b";//显示"321,321&q

php 传值赋值和引用赋值笔记

传值赋值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值. 例如:根copy是一样的.打个比方,我有一?H房子,我给你建筑材料,你建了一个根我的房子一模一样的房子,你在你的房子做什么事都不会影响到我,我在我的房子里做什么事也不会影响到你,彼此独立.  代码如下 复制代码 $aa=1; $bb=2; $aa=$bb;//$aa和$bb互不相干 $aa=3; echo $aa,'--',$bb;//输出3--2 引用赋值:真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只

javascript引用赋值(地址传值)用法实例_javascript技巧

本文实例讲述了javascript引用赋值(地址传值)用法.分享给大家供大家参考.具体如下: javascript在默认情况下,数组.对象和函数是引用赋值,如下代码所示: 复制代码 代码如下: <html> <head> <script type="text/javascript"> var a={age:20,height:175}; var b = a; alert(b.age); b.age = 25; alert(a.age); </s

c-刚学C++,有些关于自增运算符跟引用赋值的问题,望各位大神帮忙解答一下

问题描述 刚学C++,有些关于自增运算符跟引用赋值的问题,望各位大神帮忙解答一下 #include using namespace std; int main() { int a = 2; int c = 2; int & b = a++; int & d = ++c; cout<<a<<","<<b<<endl; cout<<c<<","<<d<<end

深入理解PHP中赋值与引用

原文:深入理解PHP中赋值与引用           先看下面的问题: <?php $a = 10;//将常量值赋给变量,会为a分配内存空间 $b = $a;//变量赋值给变量,是不是copy了一份副本,b也分配了内存空间呢? $c = &$a;//引用是不会为c分配空间的,c和a是共用一份空间的. ?> 对于中间的那个问题,你的答案是什么呢?在今天之前,我的答案是会为b分配内存空间.因为我是这么理解的: &赋值的时候,视为一个变量定义了一个别名,增加了一个对内存空间的引用.改

sql语句优化 传参-SQL语句传参赋值与直接赋值,为什么速度差那么远?

问题描述 SQL语句传参赋值与直接赋值,为什么速度差那么远? 传参的花了我30秒 直接赋值的花了不到一秒 求各位大神帮个忙解答一下,这条SQL语句必须要传参的,因为有很多不同的参数值,要怎么优化才好啊

Javascript的赋值是引用or复制,及参数传递

  先来看2014年阿里巴巴前端线上笔试题:   var a = 1; var obj = {     b: 2 }; var fn = function () {}; fn.c = 3;   function test(x, y, z) {     x = 4;     y.b = 5;     z.c = 6;     return z; } test(a, obj, fn); alert(a + obj.b + fn.c); 答案是12,如果回答得正确,就没必要看下去.If not,就跟我

php foreach 使用&amp;amp;(与运算符)引用赋值要注意的问题_php技巧

foreach 通过在 $value 之前加上 & 很容易就能修改数组的单元,如: PHP代码 复制代码 代码如下: foreach($arr as $value){ $value .= '4'; } 但这个用法也很容易造成错误,而且也不容易找. 看例子更直截了当: PHP代码 复制代码 代码如下: <?php $arr = array('a','b','c'); $arr2 = array('d', 'e', 'f'); foreach($arr as $value){//习惯用$valu

C#赋值操作符和赋值表达式

赋值就是给一个变量赋一个新值.C#中提供的赋值表达式有: = += -= *= /= %= &= /= ^= <<= >>= 赋值的左操作数必须是一个变量,属性访问器或索引访问器的表达式.   C#中可以对变量进行连续赋值,这时赋值操作符是右关联的,这意味着从右向左操作符被分组.例如,形如a=b=c的表达式等价于a=(b=c). 如果赋值操作符两边的操作数类型不一致,那就先要进行类型转换. 7.3.1 简单赋值 "="操作符被称为简单赋值操作符.在一个简