Помогите с пояснением непонятных символов в php

Рейтинг: 0Ответов: 3Опубликовано: 25.02.2015

Добрый вечер.

Столкнулся вот с такими записями в коде:

isset($aRow["columns"][$id])? $aRow["columns"][$id] : $aRow["data"][$id]
$val <> ''? $val:'&nbsp;'

Может кто пояснить, что означают эти символы: <> ? :

Исходя из языка Делфи, если я правильно помню, то <> - это отрицание или неравенство.

Прошу у знающих и бывалых программистов помощи в пояснении данных двух строк.

Заранее благодарю!

Ответы

▲ 1Принят

Выражение написано с помощью тернарного оператора, всё описано в справке по php.

Выражение $val <> ''? $val:'&nbsp;' перводится так:
Если $val не равно пустоте, тогда ничего не меняем, если в $val пусто, тогда подставляем символ пробела. Но вообще более комфортнее для чтения пишется так:

$var == '' ? '&nbsp;' : $val;

То же самое классикой:

if($var == '') {
  $var = '&nbsp;';
}
▲ 1

Вот этот кусок кода

$val <> ''? $val:'&nbsp;'

можно заменить таким кодом

insert_space($val)

и определение функции

function insert_space($val) {
   if ($val <> '') {
     return '';
   } else {
     return '&nbsp;';
   }
}

вот только я не помню, в php используется <> или !=.

▲ 1

<> - более старый аналог более современного !==

Плюс его понимали разработчики с других языков, где !== не прижился или вообще не реализован.