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