Правильно ли я строю этот встроенный оператор if:
$main = !empty($searchResults['main']) && !empty($searchResults['main']['feed']['entry']) ? $searchResults['main']['feed']['entry'] : null;
Возможно, вам следует обернуть свои вещи в (value1 && value2) ? true : false, но в целом это должно быть правильно.
(value1 && value2) ? true : false
Почему бы вам просто не сделать: $youtube = empty($searchResults['main']['feed']['entry']) ? NULL : $searchResults['main']['feed']['entry'];
$youtube = empty($searchResults['main']['feed']['entry']) ? NULL : $searchResults['main']['feed']['entry'];
Первый тест избыточен.
$main = !empty($searchResults['main']['feed']['entry']) ? $searchResults['main']['feed']['entry'] : null;
хорошо подойдет