这个语法结构是什么以及它是如何工作的


What is this syntax structure and how does it work?

我不确定数组节点的比较操作如何与向同一数组节点分配"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。换句话说,它将"字符串布尔值"转换为常规布尔值。