我有一些我无法嵌套的代码块:
return 'autoOpenPopup: '.!empty($options["autoOpenPopup"]) ? $this->int_to_bool($options["autoOpenPopup"]) : $this->int_to_bool(false) . PHP_EOL.'';
这会打印false(autoOpenPopup var的结果)而不是:
autoOpenPopup: false
如果我这样做,它会起作用:
$t = !empty($options["autoOpenPopup"]) ? $this->int_to_bool($options["autoOpenPopup"]) : $this->int_to_bool(false) . PHP_EOL;
return 'autoOpenPopup: '.$t.'';
但是我想要嵌套这是可能的。
答案 0 :(得分:1)
在括号中添加条件,并将cast Boolean键入String。
return 'autoOpenPopup: '.(string) (!empty($options["autoOpenPopup"]) ? $this->int_to_bool($options["autoOpenPopup"]) : $this->int_to_bool(false) . PHP_EOL);
答案 1 :(得分:1)
尝试将三元组包装在括号'(...)';
中return 'autoOpenPopup: '.( !empty($options["autoOpenPopup"]) ? $this->int_to_bool($options["autoOpenPopup"]) : $this->int_to_bool(false) ) . PHP_EOL.'';