Php 带引号的嵌套代码

Php nesting code with quotes

我有一些代码块无法嵌套:

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.'';

但我想嵌套这是可能的。

在括号中添加您的条件,然后键入 cast Boolean to String。

return 'autoOpenPopup: '.(string) (!empty($options["autoOpenPopup"]) ? $this->int_to_bool($options["autoOpenPopup"]) : $this->int_to_bool(false) . PHP_EOL);

尝试将三元组括在括号“(...)”中;

return 'autoOpenPopup: '.( !empty($options["autoOpenPopup"]) ? $this->int_to_bool($options["autoOpenPopup"]) : $this->int_to_bool(false) ) . PHP_EOL.'';