Я бы просто добавил его к вызову isset
$get = isset( $set['id'],$this->settings[$set['id']]) ? $this->settings[$set['id']] : '';
Вы можете использовать несколько аргументов в isset.Это примерно эквивалентно выполнению этого:
$get = isset($set['id']) && isset($this->settings[$set['id']]) ? $this->settings[$set['id']] : '';
Это можно легко проверить с помощью этого кода:
$array = ['foo' => 'bar'];
$set = []; //not set
#$set = ['id' => 'foo']; //uncomment to test if set
#using [] to add an element to a string not an array
$get = isset($set['id'],$array[$set['id']]) ? $array[$set['id']] : '';
echo $get;
Когда $set = ['id' => 'foo']
, вывод будет bar
, если вы оставите комментарийтогда на выходе получается пустая строка.
Песочница