优化此PHP代码的提示

Below is the code which I'm willing to compress:

$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'));
}

After your comment, what I think you want is something like:

$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;
  }
}

I think this what you wanted. The names I used are not necessarily the best ones, you should use some better suited to the actual use of the function.

Another way to do it.

        $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])));
            }
        }