4.1 赋值运算符

PHP中的等于号 = 就是赋值运算符。

$sum = 1 + 2;

这个例子的正确解读方式是将表达式 1 + 2 的值赋值给等于号左边的 $sum 变量,而不是说 $sum 等于 1 + 2

赋值运算符可以配合算术运算符组合在一起应用。

// 定义变量 a = 10 , b = 5
$a = ($b = 5) + 5;

// 加减乘除
// $a = $a + $b
$a += $b;
// $a = $a - $b
$a -= $b;
// $a = $a * $b
$a *= $b;
// $a = $a / $b
$a /= $b;

// 取模
$a %= $b;
// 次幂
$a **= $b;

// 拼接字符串 返回 "105"
$a .= $b

赋值运算符一般是通过 传值赋值 的形式进行,也就是将等于号右边表达式的结果克隆一份给左边的变量,而这其中有一个例外是对象的赋值,默认便是 引用赋值,除非明确的使用 clone 关键字来拷贝。

// 普通变量
$foo = "abc";
$bar = $foo;
// 修改其值
$foo = "xyz";
// 输出 abc
echo $bar;


// 定义类
class Example{
    public $foobar = "iGuoji";
}
// 实例化
$exam = new Example();
// 输出 iGuoji
echo $exam->foobar . '<br />';

// 赋值
$temp = $exam;
// 输出 iGuoji
echo $temp->foobar . '<br />';

// 克隆
$hello = clone $exam;
// 输出 iGuoji
echo $hello->foobar . '<br />';


// 修改实例的属性
$exam->foobar = "Laravel";

// 输出 Laravel
echo $temp->foobar . '<br />';

// 还是输出 iGuoji
echo $hello->foobar . '<br />';

PHP支持显示的引用赋值,只需要使用&符号即可。

// 普通变量
$foo = "abc";
$bar = &$foo;
// 修改其值
$foo = "xyz";
// 输出 xyz
echo $bar;

需要注意的是,PHP里new运算符自动返回一个引用结果,如果再次对new使用引用,将会报错。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 8,344评论 4 97
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,600评论 18 399
  • C++运算符重载-上篇 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符和二元逻辑运算符4...
    Haley_2013阅读 6,826评论 0 51
  • 昨天母亲节,却在这一天收到了一个让人难以接受的消息,同事的小孩不幸遭遇车祸,他的年龄永远定格在了十岁五个月…… 听...
    _飘飘何所似_阅读 3,931评论 2 3
  • 1、大部分人都宽以待己,严以待人。——论团队成员的共同点,包括我自己 2、一个鲜为人知的语法细节:别人没问时,不要...
    swagnow阅读 1,616评论 0 0

友情链接更多精彩内容