我不确定数组节点的比较操作如何与向同一数组节点分配"true"相关。这是三元语法的另一种用法吗?无论是一个解释还是一个PHP参考的链接(我甚至不知道如何搜索)都会很有帮助。提前谢谢。
// RESOLVE myvar TO BOOLEAN
$atts['myvar'] = 'true' == $atts['myvar'];
您应该这样阅读:
$atts['myvar'] = ('true' == $atts['myvar']);
(节省在括号里根本不值一分钱)。运行时,它会将$atts['myvar']
的实际内容与字符串true
(4个字母)进行比较,然后用比较结果覆盖$atts['myvar']
,此时该结果将为布尔值。若它等于字符串"true",那个么结果是布尔true
,对于其他任何东西,它都将变成布尔false
。换句话说,它将"字符串布尔值"转换为常规布尔值。