Возможные дубликаты:
быстрый синтаксический запрос php
Ссылка. Что означает этот символ в PHP?
$ row_color = ($ row_count% 2)? $ color1: $ color2;
Это называется тернарным оператором. В основном это проверка того, является ли row_count
нечетным числом, тогда назначьте row_color
для color1
или иначе color2
это расширенный синтаксис IF
он равен
if ($row_count % 2) $row_color = $color1; else $row_color = $color2;
Это тройной оператор
Это тройственный оператор. Согласно руководству PHP :
Выражение (expr1)? (expr2): (expr3) вычисляется как expr2, если expr1 имеет значение TRUE и expr3, если expr1 оценивается как FALSE.
Другими словами:
$variable = (IF THIS EVALUTES TO TRUE) ? (ASSIGN THIS) : (IF NOT, ASSIGN THIS);
Это называется тернарной операцией
Это короткое представление следующего кода:
if($row_count % 2) { $row_color = $color1; } else { $row_color = $color2; }
Вот ваш оригинальный код с комментариями:
$row_color = ($row_count % 2) ? // Performs logical expression. $color1 // If logic is true set original variable to this : $color2; // Else set original variable to this.
Документация PHP по тройным операциям: http://php.net/manual/en/language.operators.php
Это условный оператор IF. Если rowcount четный, покажите один цвет, и если он нечетный, покажите другой цвет.
Они устанавливают чередующиеся цвета строк.
Знак вопроса и двоеточие – это то, что делает его IF.
Условие появляется перед вопросительным знаком (rowcount равно).
Первым элементом после вопросительного знака является «then», то есть, что делать, если условие истинно.
Элемент после двоеточия – это «else», то есть, что делать, если условие не соответствует действительности.
Многие люди любят этот синтаксис из-за его краткости. Но, как вы нашли, это настоящая загадка, когда вы впервые столкнулись с ней, и Google будет очень сложно.
Это называется тернарным оператором. Описание можно найти здесь: http://php.net/manual/en/language.operators.php