我看到自己在为 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/