iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中引用符号(&)的作用是什么
  • 187
分享到

PHP中引用符号(&)的作用是什么

2023-06-15 01:06:00 187人浏览 八月长安
摘要

本篇文章给大家分享的是有关PHP中引用符号(&)的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。按位与$a & $b 将把 $a 和 $b 中都为1的

本篇文章给大家分享的是有关PHP中引用符号(&)的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

按位与

$a & $b 将把 $a 和 $b 中都为1的位设为1.

奇偶数判断

整数与1进行按位与运算,运算结果为1表示为奇数, 运算结果为0表示为偶数。例如:

十进制二进制
5101
1001

6和1进行按位与&, 得到结果为0。

十进制二进制
6110
1001

但是项目中我们都不会这么写, 都是使用n % 2 == 0, 因为奇偶性判断使用%的效率比较高,也比较容易理解。

用户权限判断

假设有个系统中有用户权限分配模块, 其权限设置如下:

权限名称权限值
查看1
新增2
修改4
删除8

那么存储该用户的权限不需要存储逗号分割的字符串1,2,4,8, 只需要存储一个整形:15即可。

如果用户1拥有新增丶查看丶修改权限, 那么需要存储的权限值为: 1+2+4=7。

如果用户2拥有所有权限, 那么需要存储的权限值为:1+2+4+8=15。

检查用户1是否有修改权限:7 & 4结果为4, 表示拥有修改权限。

检查用户2是否有删除权限:15 & 8结果为8, 表示拥有删除权限。

条件操作符

$a && $b只有$a和$b均为真,结果才为真。

引用变量

php的引用允许你用两个变量来指向同一个内容。无论对哪个变量名的值进行了修改,其他变量名访问的内容也会随之改变。

与C语言中的指针是有差别的。C语言中的指针里面存储的是变量的内容,在内存中存放的地址。

<?php$a = 10;$b = &$a; $a = 11;var_dump($a, $b); // 输出11, 11$b = 12;var_dump($a, $b); // 输出12, 12

foreach循环时加&符号会有什么问题? 例如以下代码能正常输出期望值吗?

<?php$values = ['python', 'Php', 'Go'];foreach ($values as &$value){    $value = strtoupper($value);}foreach ($values as $value){    echo $value . PHP_EOL;}

预期结果是: ['Python', 'PHP', 'GO'] 实际结果是['PYTHON', 'PHP', 'PHP']。

这是因为第一次foreach中使用了引用, 使$value成为了引用变量, 并且$arr[2]和$value指向了同一个地址空间(共享变量值), 第二次foreach时, 不断的将$values中的值赋给$value, 导致$arr[2]的值也被修改了。

引用传递

可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。

function f(&$n){    $n *= $n;}$n = 2;f($n);var_dump($n); // 输出4

按值传递是需要对变量进行拷贝, 引用传递是同一内存空间。

如果是大型字符串或对象,那么使用引用传递比按值传递可以节省一些内存, 但是使用引用传递代码可读性稍微低点。

引用返回

函数的引用返回,在方法前加&符号定义。同时需要接收返回值也需要&, 否则将不起作用, 例如:

<?phpclass Foo {    public $value = 10;        public function &getValue()    {        return $this->value;    }}$foo = new Foo();$val1 = $foo->getValue();$val1 = 11; // $val1没有用&接收,不是引用, 修改不会影响实例$foo的值.var_dump($val1, $foo->getValue()); // 输出11, 10$val2 = &$foo->getValue(); // $val2是引用$val2 = 13;var_dump($val2, $foo->getValue()); // 输出13, 13

PHP中引用符号(&)的作用是什么

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

以上就是PHP中引用符号(&)的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网PHP编程频道。

--结束END--

本文标题: PHP中引用符号(&)的作用是什么

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP中引用符号(&)的作用是什么
    本篇文章给大家分享的是有关PHP中引用符号(&)的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。按位与$a & $b 将把 $a 和 $b 中都为1的...
    99+
    2023-06-15
  • &amp;在c语言中是什么符号
    在 c 语言中,& 符号表示按位与运算符。它按位操作两个位模式,如果两个位都为 1,则结果为 1;否则,结果为 0。按位与运算符用于设置或清除特定位、测试位的状态以及组合位模式。...
    99+
    2024-04-13
    c语言
  • PHP引用&符号的注意问题有哪些
    PHP引用&符号的注意问题有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PHP引用&符号是一个比较难掌握的知识点。新手们在实际编写代码时一定要多注意这一点...
    99+
    2023-06-17
  • Java中::符号的作用是什么
    本篇内容主要讲解“Java中::符号的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中::符号的作用是什么”吧!1. 前言Java中的方法引用,很多同学都见过但却叫不出名字,在...
    99+
    2023-06-16
  • java中双引号的作用是什么
    在Java中,双引号(`""`)用于表示字符串文字。它们的作用是将其中的文本视为字符串对象。双引号的主要作用如下...
    99+
    2023-08-22
    java
  • php中&&指的是什么
    本文小编为大家详细介绍“php中&&指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“php中&&指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在php中,“&a...
    99+
    2023-06-30
  • Java中相等符号的作用是什么
    在Java中,相等符号(==)用于比较两个变量的值是否相等。它的作用是判断两个变量的值是否相等,并返回一个布尔值(true或fals...
    99+
    2023-09-15
    Java
  • 怎么使用MySQL中“&lt;=&gt;”操作符
    这篇文章将为大家详细讲解有关怎么使用MySQL中“&lt;=&gt;”操作符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题 :我在看以前的一个开发者的...
    99+
    2024-04-02
  • URL中“#” “?” &“”号有什么用
    这篇文章将为大家详细讲解有关URL中“#” “?” &“”号有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. #    1...
    99+
    2024-04-02
  • PHP中元字符的作用是什么
    今天就跟大家聊聊有关PHP中元字符的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。元字符(原子修饰符)原子数量修饰符+表示前面的原子出现-次或者多次表示前面的原子出现e次或...
    99+
    2023-06-15
  • linux中怎么使用&号和管道符号
    这篇文章将为大家详细讲解有关linux中怎么使用&号和管道符号,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。掌握连接各个命令之间的连接符号用法也是很重要的。实际上,命令的用法并不难,例如 mkdi...
    99+
    2023-06-27
  • php中@运算符的作用是什么
    这篇文章主要介绍“php中@运算符的作用是什么”,在日常操作中,相信很多人在php中@运算符的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中@运算符的作用是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • php中索引数组的作用是什么
    这篇文章给大家介绍php中索引数组的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampServe...
    99+
    2023-06-14
  • php中&&和||逻辑运算符怎么使用
    本篇内容主要讲解“php中&&和||逻辑运算符怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中&&和||逻辑运算符怎么使用”吧!一. &&a...
    99+
    2023-07-04
  • php中“==”符号的含义是什么
    在php中,“==”符号是一个比较运算符,可以比较两个操作数是否相等,语法“操作数1 == 操作数2”。“==”运算符会比较、并测试左边的变量(表达式或常量)是否与右边的变量(表达式或常量)具有相同的值;它只比较变量的值,而不是数据类型。如...
    99+
    2023-05-14
    php 运算符 比较运算符
  • php中的注释符号是什么
    php中的注释符用于添加说明性文字,有两种类型:单行注释(//):注释一行,以 // 开头,到行尾结束。多行注释(/ /):注释多行,以 / 开头,以 / 结束。 PHP中的注释符号 ...
    99+
    2024-04-29
  • VBS中连接运算符 (&)的作用
    这篇文章主要介绍“VBS中连接运算符 (&)的作用”,在日常操作中,相信很多人在VBS中连接运算符 (&)的作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VBS中连接运算符 (&)...
    99+
    2023-06-08
  • 在php中单引号和双引号的区别是什么
    这篇“在php中单引号和双引号的区别是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“在php中单引号和双引号的区别是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接...
    99+
    2023-06-06
  • php中@符号是什么意思
    php 中的 @ 符号是错误抑制符,用于抑制错误消息或警告输出;它可以与任何表达式一起使用,包括函数调用、对象方法和赋值;何时使用:合理使用时机包括预期错误或警告时、使用不稳定的第三方库...
    99+
    2024-04-27
  • 你真的了解PHP中的引用符号(&)吗
    引言 最近接手了五六年前的老项目,用的是CI2.0框架,在看框架源码的时候有个地方让我楞了一下,于是有了这篇文章。 字符&的最早历史可以追溯到公元1世纪,最早是拉丁语et ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作