我在我接手的网站上有代码,我无法理解它。
有人可以向我解释一下究竟发生了什么。我对PHP有很好的了解,但这让我很困惑。
由于
function decawave_preprocess_field(&$vars) {
if($vars['element']['#field_name'] == "field_resource_public_pdf" || $vars['element']['#field_name'] == "field_resource_pdf") {
$vars['items'][0]['#disclaimer'] = !empty($vars['element']['#object']->field_disclaimer) ? $vars['element']['#object']->field_disclaimer[LANGUAGE_NONE][0]['value'] : 0;}
}
答案 0 :(得分:0)
如果$vars['element']['#field_name']
的值相等(请注意type juggling此处)至'field_resource_public_pdf'
或$vars['element']['#field_name']
相等(再次类型杂耍)至"field_resource_pdf"
字符串执行以下内容:
执行empty($vars['element']['#object']->field_disclaimer)
(doc this function)函数,如果返回false,则将$vars['element']['#object']->field_disclaimer[LANGUAGE_NONE][0]['value']
的值分配给$vars['items'][0]['#disclaimer']
。
否则(如果[empty][2]($vars['element']['#object']->field_disclaimer)
返回true,请将0
分配给$vars['items'][0]['#disclaimer']
。
代码非常简单,但我注意到函数本身编写得非常糟糕。