PHP 中的符号我以前从未遇到过

2024-03-28

我可能应该这样做,但我以前从未见过这个。在查看 Smarty 插件的文档时遇到了它。

$smarty =& new Smarty;

特别是 =& 符号。如果您在 Google 中输入它,它会被忽略,就像任何其他搜索引擎一样。这是做什么用的?

此函数签名也是如此:

function connect(&$smarty, $reset = false)

为什么要用 & 符号?


实际上,编写此代码是为了与 PHP 4 兼容。& 符号在 PHP 5 中毫无用处(正如 Tim 所说 - 从 PHP 5 开始,所有对象都通过引用传递)。

在 PHP 4 中,所有变量都是按值传递的。 如果你想通过引用传递它,你必须声明一个引用赋值:

$ref_on_my_object =& new MyObject();

PHP 5 默认配置仍然接受此代码,但最好编写:

$ref_on_my_object = new MyObject(); // Reference assignment is implicit

对于你的第二个问题,问题“几乎”相同...... 因为 PHP 允许您声明函数参数(或类型),但您不能声明返回值。 一种可接受的但“不太好”的做法是避免在函数声明中进行引用声明:

function foo($my_arg) {    
    // Some processing
}

并致电提供参考...

$my_var;
$result = foo( &$my_var );
// $my_var may have changed because you sent the reference to the function

理想的声明更像是:

function foo( & $my_input_arg ) {    
    // Some processing
}

然后,调用会丢失 & 符号:

$my_var;
$result = foo( $my_var );
// $my_var may have changed because you sent the reference to the function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 中的符号我以前从未遇到过 的相关文章

  • AngularJS + Laravel 5 身份验证

    在使用 AngularJS 构建 SPA 时 我想在 AngularJS 网站中实现用户身份验证 但是 我不知道从哪里开始以及最佳实践是什么 基本上我有一个确定可以担任一个或多个角色 我寻找了一些例子 这样我就可以对如何正确处理这个问题有一
  • regex php - 查找 div 中具有特定 ID 的内容

    我确信这是一个简单的问题 尽管我在谷歌上进行了如此多的搜索和搜索 但我似乎无法弄清楚这有什么问题 我在此页面上的其他区域使用类似的表达式来准确返回我想要的内容 但是 我无法让这个特定的位返回我想要的东西 所以也许有人可以帮助我 我有一个带有
  • 将变量从 PHP 传递到 JavaScript 的有效方法[重复]

    这个问题在这里已经有答案了 有时我必须将一些变量从 PHP 传递到 JS 脚本 现在我是这样做的 var js variable 但这非常丑陋 我无法在 js 文件中隐藏我的 JS 脚本 因为它必须由 PHP 解析 处理这个问题的最佳解决方
  • 将日期格式(在数据库或输出中)更改为 dd/mm/yyyy - PHP MySQL

    MySQL 将日期存储在我的数据库中 默认情况下 为 YYYY MM DD 我的日期的字段类型是 DATE 我不需要任何时间存储 有没有一种简单的方法可以默认更改它到 DD MM YYYY 我在两个不同的表中调用不同的日期 并且在我的任何代
  • XMLReader - 如何处理未声明的命名空间

    Merged https meta stackexchange com questions 158066 what is a merged question with 如何使用 XMLReader 读取未定义命名空间的 XML 文件 que
  • 使用 href 和 php 从 sql 数据库对 html 表进行排序

    我有一个 html 表 其中包含来自 php 吐出的 sql 表的产品数据 我想通过单击表列的标题对数据进行排序 我像这样输出我的表 php product list sql mysql query SELECT FROM products
  • PHP7 返回类型为 JSON

    PHP 7 有一个新功能 即返回类型声明 我们可以返回一个 字符串 类型 例如 function myFunction a string 我们还可以返回一个 数组 类型 例如 function myFunction a array 但是我们
  • Magento 1.8 - 高级搜索不起作用

    我在最新版本的 magento 中发现了一个奇怪的错误 高级搜索工具无法正常工作 我做了什么 安装 magento 的新副本 在管理页面添加了一个名为 测试 1 的产品 重新索引全部 清除所有缓存 At the frontend page
  • MySQL 和 PHP:多关键字搜索

    我有一个包含逗号分隔关键字的字符串 例如 keywords keyword1 keyword2 keyword3 我的表架构 名为tbl address是这样的 简化的 id INT 11 PRIMARY KEY AUTO INCREMEN
  • PHP:__toString() 和 json_encode() 不能很好地协同工作

    我遇到了一个奇怪的问题 我不知道如何解决它 我有几个类 它们都是 JSON 对象的 PHP 实现 这是问题的说明 class A protected a public function construct this gt a array n
  • PHP: $arr['key'] 上的 is_array 不存在 'key'

    我的一所大学似乎在我编写的代码中存在 未定义索引 错误 我的这段代码如下所示 if is array arr key 我的目的是检查 arr 是否有一个名为 key 的键 以及该键的值是否是数组本身 我应该这样做吗 if isset arr
  • 如何使用来自数据库的值来定义 Twig 模板的全局变量?

    我想为 twig 定义一个全局变量 可以从任何模板访问它 我可以在 symfony 中创建一个全局变量config packages twig yaml 但我需要它是从数据库获取的值 在 twig 的文档中 它说使用此代码 twig new
  • 密码验证 PHP 正则表达式

    我是正则表达式的新手 我需要使用 php 验证密码 并使用正则表达式执行以下密码策略 密码 必须至少有 8 个字符 必须有2个号码 允许的符号有 我已经尝试过以下方法 d A Za z 0 9A Za z 以下完全符合您的要求 d d 0
  • PHP 静态变量用双引号引起来

    如何让 PHP 计算双引号中的静态变量 我想做这样的事情 log self CLASS METHOD entering 我尝试过各种 组合来获取变量值self CLASS 但没有任何效果 我目前已经解决了字符串连接问题 但输入起来很痛苦 l
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • 使用 shell_exec Powershell 输出到 PHP 变量

    我有一个 powershell 脚本 它输出视频文件持续时间 运行这个脚本给了我预期的结果 Folder C my path to folder File sample1 1280 720 mp4 LengthColumn 27 objSh
  • 如何在 MySQL 中使用 INET_ATON 进行通配符搜索 IP 地址?

    我发现这个方法可以使用 INET ATON 将 IP 地址作为整数存储在 MySQL 数据库中 https stackoverflow com a 5133610 4491952 https stackoverflow com a 5133
  • 通过“SELECT”命令选择每组的前两条记录的最佳方法是什么?

    例如我有下表 id group data 1 1 aaa 2 1 aaa 3 2 aaa 4 2 aaa 5 2 aaa 6 3 aaa 7 3 aaa 8 3 aaa 通过 SELECT 命令选择每组的前两条记录的最佳方法是什么 如果没有
  • 正则表达式检查确切的字符串是否存在,包括#

    新问题正如 Asaph 在上一个问题中所建议的 正则表达式检查确切的字符串是否存在 https stackoverflow com questions 2824291 regex to check if exact string exist
  • 在 Laravel 视图中使用 CSS?

    我刚刚开始学习 Laravel 并且可以掌握控制器和路由的基础知识 我的操作系统是 Mac OS X Lion 它位于 MAMP 服务器上 我的routes php代码 Route get function return View make

随机推荐

  • 使用 ARC 手动保留

    在 ARC 之前 我有以下代码 可以在异步操作正在进行时保留委托 void startAsyncWork delegate retain calls executeAsyncWork asynchronously void executeA
  • 如何获得带有括号和所有内容的 SQL Server 列定义?

    我需要一种智能方法 以可在 CREATE TABLE 语句中使用的方式从 INFORMATION SCHEMA COLUMNS 中获取数据类型 问题是需要理解的 额外 字段 例如 NUMERIC 精度和数字 SCALE 显然 我可以忽略 I
  • 在 HIVE 中选择该月的第一天

    我正在使用 Hive 它与 SQL 类似 但对于 SQL 用户来说语法可能略有不同 我看过其他的stackoverflow 但它们似乎在SQL中具有不同的语法 我试图通过此查询获取该月的第一天 这给了我今天的一天 例如 如果今天是 2015
  • Android:尝试序列化...忘记注册类型适配器?”

    如何使用 HashMap 转换为 JSONGson https code google com p google gson class ClassData public String jsonString public Class clas
  • 将输出分配给 Bash 中的变量[重复]

    这个问题在这里已经有答案了 我试图将 cURL 的输出分配给一个变量 如下所示 bin sh IP curl automation whatismyip com n09230945 asp echo IP sed s IP IP nsupd
  • MSSQL - JPA - 特殊字符的字符编码 - 附加“N”nativeQuery

    我使用 Spring 4 3 1 和 JPA 2 0 并连接到 MSSQL 我正在使用 JpaRepository 的 save 方法来插入和更新数据 其中一个字段具有 nvarchar 它可以包含特殊字符 如拉丁文 中文 另外 我在 ap
  • 如何使用反射来调用私有方法?

    我的类中有一组私有方法 我需要根据输入值动态调用一个方法 调用代码和目标方法都在同一个实例中 代码如下所示 MethodInfo dynMethod this GetType GetMethod Draw itemType dynMetho
  • TypeScript 字符串并集不可分配给函数中元组的并集

    这两个示例的行为应该是相同的 但第二个示例出现错误 为什么 Example 1 const a x y x const b x y a ok Example 2 function fn a x y const b x y a Type x
  • Powershell确定永久移动(重定向)资源的新URL

    我在 Linux 上使用 AppImage 来使用 Powershell Core v6 beta 5 有没有办法找出 301 重定向的 新 位置 Invoke WebRequest Method HEAD http SomethingTh
  • Rails 3:生成唯一代码(优惠券)

    生成用作优惠券代码的唯一代码的最佳方法是什么 Thanks Ruby 的标准库中有SecureRandom为了这 SecureRandom hex 3 输出的长度是输入指定长度的两倍
  • Rails 3 有更好的 validates_linked 方法吗?

    Rails 3 包括validates associated保存嵌套模型时会自动调用它 该方法的问题是消息很糟糕 模型无效 有一些帖子针对 Rails 2 攻击了这个问题 http rpheath com posts 412 a bette
  • assembly x86 qemu:致命:尝试在 RAM 或 ROM 之外执行代码

    我正在开发一个非常基本的 shell 其中当前唯一的命令是 help 如果您输入错误 系统会通知您该命令无法识别 在段和堆栈设置的某个地方 我有一个错误 导致 shell 在我输入任何内容后吐出一些废话 然后完全冻结 我在终端中遇到错误 q
  • 如何在 RESTful Web 服务中实现登录?

    我正在构建一个带有服务层的 Web 应用程序 服务层将使用 RESTful 设计构建 我们的想法是 在未来的某个时候 我们可能会构建使用与 Web 应用程序相同的服务层的其他应用程序 iPhone Android 等 我的问题是 如何实现登
  • 为什么 MIDI 提供 127 个音符

    MIDI 中的 127 个音符值是否具有音乐意义 一定数量的八度音阶或其他 或者是由于二进制文件格式 IE为了计算的目的而设置为127 在 MIDI 协议中 有状态字节 想想命令 例如音符打开或音符关闭 和数据字节 想想参数 例如音高值和速
  • Groovy 字符串插值,其值仅在运行时已知

    我觉得我错过了 Groovy 处理字符串的方式 我意识到它们是不可变的 但我想做的是在运行时插入一个值 我不知道怎么办 让我用 Python 给出一个非常简单的例子 作为 可执行伪代码 来说明我的意思 然后我将给出我在 Groovy 中尝试
  • 在opencv python中分解单应性矩阵

    H K R t 其中H 3 3 是单应矩阵 R是旋转矩阵 K是相机内参数矩阵 t是平移向量 我使用棋盘模式计算了 K 如下所示 ret K dist rvecs tvecs cv2 calibrateCamera objpoints img
  • 无法在 Raspberry Pi 上安装 PyQt5 [重复]

    这个问题在这里已经有答案了 我正在尝试在我的 Raspberry Pi 机器上安装 PyQt5 我努力了 pip3 install pyqt5 pip3 install upgrade pip pip3 install pyqt5 5 14
  • 从 csv 文件中读取列上的多重索引

    我有一个如下所示的 csv 文件 Male Male Male Female Female R R L R R 86 67 88 78 81 我想将其读入 df 这样我就有 Male Female R L R 0 86 67 88 78 8
  • Java 9 中“uses”指令的用途是什么?

    Java s ServiceLoaderclass 现已正式融入 Java 语言中 而不是寻找供应商META INF services您现在可以使用 provides
  • PHP 中的符号我以前从未遇到过

    我可能应该这样做 但我以前从未见过这个 在查看 Smarty 插件的文档时遇到了它 smarty new Smarty 特别是 符号 如果您在 Google 中输入它 它会被忽略 就像任何其他搜索引擎一样 这是做什么用的 此函数签名也是如此