以下是我愿意压缩的代码:
$somefield = 0;
if ($config->get('var1.one') && is_numeric($config->get('var1.one'))) {
$somefield = $this->entityManager->getStorage('node')->load($config->get('var1.one'));
}
$different_field = 0;
if ($config->get('var2.two') && is_numeric($config->get('var2.two'))) {
$different_field = $this->entityManager->getStorage('node')->load($config->get('var2.two'));
}
答案 0 :(得分:0)
在您发表评论后,我认为您想要的是:
$somefield = checkVar("var1.one");
$different_field = checkVar("var2.two");
function checkVar($name) {
if ($config->get($name) && is_numeric($config->get($name))) {
return $this->entityManager->getStorage('node')->load($config->get($name));
} else {
return 0;
}
}
我认为这就是你想要的。我使用的名称不一定是最好的,你应该使用一些更适合函数的实际使用。
答案 1 :(得分:0)
另一种方法。
$field = [];
$array= ['var1.one', 'var2.two'];
for ($i = 0; $i < count($array); $i++) {
if ( $config->get($array[i] ) && is_numeric($config->get($array[$i])) )
{
array_push($field, $this->entityManager->getStorage('node')->load($config->get($array[$i])));
}
}