“带有前缀的三进制运算中的“压缩”代码

问题描述 投票:0回答:1

出于好奇...是否有可能以最短的形式(较少的php代码字符)在单个语句中编写此类代码?例如而不将document部分复制为字符串和变量。

if (empty($id)){
  $fileName = "document.pdf";
} else {
  $fileName = "document_$id.pdf"; // the "_" is important
}

如果删除下划线,则可以使用三元运算符:

$fileName = 'document'.(empty($id) ?: '').'pdf';

如何在上述三元运算中包含下划线?

也许是“带有前缀的三进制”运算符...

php optimization prefix conditional-operator php-7.3
1个回答
0
投票

这是一个可能的解决方案,但是它仍然重复$id参考...

$fileName = 'document'.(empty($id) ? '_'.$id : '').'pdf';
© www.soinside.com 2019 - 2024. All rights reserved.