Тернарный оператор является более коротким аналогом IF и в некоторых случаях позволяет значительно сократить код.
Условия
——————————————————————————-
<?php if ($param == '') echo $text; ?>
<?php if ($request->_name == '') echo $text; ?>
<?php echo ($request->_name == '') ? $text: ''; ?>
$param = ($var > 2 ? true : false);
——————————————————————————-
Вывод тегов при выключенном глобальном параметре short_tag в php.ini
<?php echo $type == 1 ? "<div>":'<a>'; ?>
<?php echo $type == 1 ? "</div>":'</a>'; ?>
——————————————————————————-
Вывод тегов при включенном глобальном параметре short_tag в php.ini
<?=$type == 1 ? "<div>":'<a>';?>
<?=$type == 1 ? "</div>":'</a>';?>
При отладке и глубоком тестировании приложений иногда требуется очень гибкий инструмент вывода отладочных данных. В своей практике очень привык пользоваться вот такой очень простой функцией которую можно к примеру добавить в некий autoload чтобы иметь возможность вызвать её в любой части приложения.
function dump ( $exp )
{
echo '<pre>';
switch(true){
case is_array($exp):
echo '</br>ARRAY</br></br>';
print_r($exp);
break;
case is_object($exp):
echo '</br>OBJECT</br></br>';
print_r($exp);
break;
case is_int($exp):
echo '</br>INT</br></br>';
var_dump($exp);
break;
case is_string($exp):
echo '</br>STRING</br></br>';
var_dump($exp);
break;
default;
echo '</br>OTHER</br></br>';
var_dump($exp);
print_r($exp);
break;
}
echo '</pre>';
}
Пример использования
<? dump('1000.000');exit; ?>
<? dump('1000.000'); ?>