You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何在$message变量内嵌入if语句?报错问题修复

修复PHP字符串拼接中嵌入if语句的报错问题

你的代码报错核心原因是:PHP不允许在字符串链式拼接(用.连接)的过程中直接插入if流程控制语句,if是语句而非表达式,不能放在拼接链里作为一部分。下面给你三种可行的修复方案:

方案1:使用三元运算符简化分支逻辑

把重复的性别判断抽成变量,用三元运算符替代if-else,直接嵌入拼接链:

// 先定义前缀变量,避免重复判断
$prefix = $getNowCuti->AllKaryawan->jenis_kelamin == 'L' ? 'Pak' : 'Bu';

$message = "Semangat Pagi Akang & Teteh Semua!\n"
        . "Nyai Iteung mengucapkan selamat ulang tahun &#128172 untuk:\n\n"
        . $prefix . $stringKaryawan . "\n\n"
        . "Selamat cuti juga yaa untuk:\n\n"
        . $prefix . $stringKaryawan . "\n\n"
        . "Harap rekan-rekan Kabayan Group tidak memberikan tugas kepada pegawai diatas pada hari ini.";

方案2:分步拼接字符串

先初始化基础字符串,再通过if分支用.=追加内容,符合PHP语法规范:

// 初始化基础内容
$message = "Semangat Pagi Akang & Teteh Semua!\n"
        . "Nyai Iteung mengucapkan selamat ulang tahun &#128172 untuk:\n\n";

// 追加生日祝福的前缀和姓名
if($getNowCuti->AllKaryawan->jenis_kelamin == 'L') {
    $message .= "Pak" . $stringKaryawan . "\n\n";
} else {
    $message .= "Bu" . $stringKaryawan . "\n\n";
}

// 追加休假祝福的开头
$message .= "Selamat cuti juga yaa untuk:\n\n";

// 追加休假祝福的前缀和姓名
if($getNowCuti->AllKaryawan->jenis_kelamin == 'L') {
    $message .= "Pak" . $stringKaryawan . "\n\n";
} else {
    $message .= "Bu" . $stringKaryawan . "\n\n";
}

// 追加结尾提示
$message .= "Harap rekan-rekan Kabayan Group tidak memberikan tugas kepada pegawai diatas pada hari ini.";

方案3:使用HEREDOC语法(推荐)

HEREDOC支持直接编写多行字符串,还能嵌入变量,代码更整洁易读:

$prefix = $getNowCuti->AllKaryawan->jenis_kelamin == 'L' ? 'Pak' : 'Bu';

$message = <<<MSG
Semangat Pagi Akang & Teteh Semua!
Nyai Iteung mengucapkan selamat ulang tahun &#128172 untuk:

$prefix$stringKaryawan

Selamat cuti juga yaa untuk:

$prefix$stringKaryawan

Harap rekan-rekan Kabayan Group tidak memberikan tugas kepada pegawai diatas pada hari ini.
MSG;

注意:HEREDOC的结束标记MSG;必须单独占一行,且前面不能有任何缩进。

内容的提问来源于stack exchange,提问作者slvhxia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:41:30