Nie używaj zagnieżdżonego operatora trójkowego, bo jest strasznie mało czytelny i trudno później go debugować. Problem tkwi w pierszeństwie operatorów, to co napisałeś jest równoważne temu:
'value' => set_value
('data[goals]', (isset($result->goals) ?
$result->goals : isset($default->goals)) ?
$default->goals : ''),
A zapewne chciałeś osiągnąć:
'value' => set_value
('data[goals]', isset($result->goals) ?
$result->goals : (isset($default->goals) ?
$default->goals : '')),
Radziłbym abyś sobie to zmienił na prostego ifa, tak jak mówiłem nie używaj podwójnego/potrójnego itp. operatora trójkowego:
$value = '';
if(isset($result->goals)) { $value = $result->goals;
} else if(isset($default->goals)) { $value = $default->goals;
}