SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.10.2007 17:33:31

post
Участник
Зарегистрирован: 25.09.2007
Сообщений: 9

пожалуйста, объясните

Пожалуйста, скажите, что обозначает запись

print "\t\t<td><center>".($line[$i]?$line[$i]:"&nbsp;")."</center></td>\n";

Конкретно не ясно, что происходит с массивами в выражении в скобках

Неактивен

 

#2 06.10.2007 17:50:36

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: пожалуйста, объясните

Это оффтопик, но мы скоро запустим проект, на котором можно будет задать вопросы и по PHP.

Здесь очень просто, используется оператор ?:, он имеет 3 аргумента, если первый аргумент истина (то есть не ноль не NULL и не пустая строка), то результатом выражения является второй аргумент, а если ложь, то - третий. Логически Ваше выражение такое:

print "\t\t<td><center>";
if($line[$i]) {
   print $line[$i];
}
else {
  print "&nbsp;";
}
print "</center></td>\n";

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson