2016-04-27 3 views
0

У меня есть много унаследованного кода, как это:Цепной тройной оператор в PHP

return isset($a) ? $a : isset($b) ? $b : isset($c) ? $c : isset($d) ? $d : isset($e) ? $e : ''; 

Так это просто прикован тройная оператора. Он работает, но большинство имен переменных не $ a, а $ veryLongAndDescriptiveCorporateVariableNames, и это просто нечитаемо для меня.

Есть ли лучший способ реорганизовать это? Я пытался что-то вроде этого, но я не знаю, если это лучший и самый читаемый способ:

$ar = array(
     $a, 
     $b, 
     $c, 
     $d, 
     $e 
    ); 

    foreach ($ar as $k => $v) 
     if (isset($v)) 
      return $v; 
    return ''; 
+0

Я не вижу никаких оснований для проверки X переменных а затем использовать первый существующий. Похоже на плохой кодированный сценарий для меня. –

ответ

0

Это нормально Работа: -

$ar = array(
     $a, 
     $b, 
     $c, 
     $d, 
     $e 
    ); 

    foreach ($ar as $k => $v) 
    { 
     echo (isset($v)) ? $v : ''; 
    } 
Смежные вопросы