为了账号安全,请及时绑定邮箱和手机立即绑定

三元条件运算中的“压缩”代码以将前缀添加到值

三元条件运算中的“压缩”代码以将前缀添加到值

PHP
慕少森 2022-05-27 16:55:21
出于好奇......有没有办法以最短的形式(更少的php代码字符和重复)在单个语句中编写这种代码?例如,无需将部分重复document为字符串和变量。if (empty($id)){  $fileName = "document.pdf";} else {  $fileName = "document_$id.pdf"; // the "_" is important}如果我去掉下划线,我可以使用速记三元运算符:$fileName = 'document'.(empty($id) ?: '').'.pdf';如何在上述三元运算中包含下划线?也许是“如果为真,则带有前缀连接的三元”运算符...
查看完整描述

3 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

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

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


查看完整回答
反对 回复 2022-05-27
?
呼唤远方

TA贡献1856条经验 获得超11个赞

既然你不想重复$id这是我设法写的最短的形式

$fileName = str_replace('_.','.','document_'.($id?:'').'.').'pdf';

至于empty()不要担心猫王操作员会做同样的工作。


查看完整回答
反对 回复 2022-05-27
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

尝试这个

$fileName = rtrim('document' . '_' . $id, '_') . '.pdf';


查看完整回答
反对 回复 2022-05-27
  • 3 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号