php中字符串只有下面两种情况转化为bool类型时认为是false,其余均为true
echo boolval("") ; //false echo boolval("0"); //false
你的情况可以用===来解决:
$val = $string === 'true'? true: false; //或者更简单的方法 $test_mode_mail = ($string === 'true');