您正在执行精确的字符串匹配,而不是子字符串匹配,因此除非您的$title
值与 if() 语句中的字符串完全相同,否则您的“随机 1.5”和“粗体随机 1.5”将永远匹配相同的。
例如
$teststring = 'Random 1.5';
($teststring == 'Random 1.5') // evaluates to TRUE
($teststring == 'Bold Random 1.5') // evaluates to FALSE
但如果你有
strpos('Random 1.5', $teststring) // integer 0 result, not boolean false
strpos('Bold Random 1.5', $teststring) // integer 4 result, not boolean false
都会成功,因为 'Random 1.5' 出现在被搜索的两个字符串中。
同样,由于您要针对多个值反复测试一个变量,请考虑使用 switch() 代替:
switch($title) {
case 'Random 1.5': $ytitle = 'Custom 1.5'; break;
case 'Another 1.6': $ytitle = 'Custom 1.6'; break;
case 'Bold Random 1.5': $ytitle = 'Custom 1.7'; break;
}