php - 如何在 PHP 中创建新的运算符?

标签 php operators

我看到自己在为 PHP 上所有类型的默认分配执行以下代码

$variable = $variable ? $variable : 'default value';

我知道用 5.3 我可以做到

$variable = $variable ?: 'default value';

我想通过能够做来进一步简化它

$variable ?= 'default value';

并重新分配变量以防它评估为假。是否可以创建该作业?我是否必须编译我自己的 php 版本才能做到这一点?

最佳答案

如果不更改 PHP 源,您无法在 PHP 中创建新的运算符。

而且你不想改变它,相信我。当然,这很容易 - PHP 是开源的,使用 straightforward LALR(1) parser您可以轻松修改它 - 但这会使您的代码与标准 PHP 实现不兼容。因此,您会非常限制谁可以运行代码 - 除了您之外,可能没有其他人,因为没有其他人会关心修改他们的 PHP 引擎只是为了运行您的代码。

更新:我写了一个关于如何向 PHP 添加新语法(如运算符)的小教程:https://www.npopov.com/2012/07/27/How-to-add-new-syntactic-features-to-PHP.html

关于php - 如何在 PHP 中创建新的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6347694/

相关文章:

php - MySQL GROUP BY 返回一行

php - 在此 foreach 循环中设置 PHP 变量

php - Codeigniter 更新查询不起作用

php - imagecreatefromstring(): Data is not in a recognized format in

C 中类型之间的转换

C++模板和重载运算符

php - 如何使用 .htaccess 从 URL 中隐藏目录名称

javascript - 如何将这些数组值全部打印成 html 表单?

javascript - js函数中的'语法错误,意外标记='

c - 为什么地址运算符 (&) 对于通过函数传递的数组很重要?