PHP - 无法理解此代码。

时间:2015-06-04 08:35:37

标签: php

我在我接手的网站上有代码,我无法理解它。

有人可以向我解释一下究竟发生了什么。我对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;} 
}

1 个答案:

答案 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']

代码非常简单,但我注意到函数本身编写得非常糟糕。