0
我不知道数组节点的比较操作如何与相同数组节点的“true”赋值相关。这是三元语法的一些替代用法吗?无论是解释还是链接到PHP引用(我甚至不知道如何搜索此内容)都会有所帮助。提前致谢。这是什么语法结构,它是如何工作的?
// RESOLVE myvar TO BOOLEAN
$atts['myvar'] = 'true' == $atts['myvar'];
我不知道数组节点的比较操作如何与相同数组节点的“true”赋值相关。这是三元语法的一些替代用法吗?无论是解释还是链接到PHP引用(我甚至不知道如何搜索此内容)都会有所帮助。提前致谢。这是什么语法结构,它是如何工作的?
// RESOLVE myvar TO BOOLEAN
$atts['myvar'] = 'true' == $atts['myvar'];
你应该像阅读:
$atts['myvar'] = ('true' == $atts['myvar']);
(节省支架是永远值得一分钱)。当运行时,它将比较$atts['myvar']
的实际内容与字符串true
(4个字母),然后用$atts['myvar']
进行比较,其结果将为布尔型。如果它等于字符串“真”,那么结果是布尔型true
,对于其他任何东西它将变成布尔值false
。换句话说,它将“字符串布尔”转换为常规布尔值。
非常感谢您的简洁回应。这有很大的帮助。 – fslap
该注释告诉你代码在做什么:将myvar解析为布尔值,尽管它不是将它解析为_true_布尔值,而是将其解析为字符串“true”。如果你问我,可怕的代码是多少。 'settype($ atts ['myvar'],'boolean')'会更好。 –
@MartinBean它正确地解析为常规布尔值。这远不是我见过的最好的代码,但我也不会说它是可怕的。 –
感谢你们俩。 – fslap