$odd= true;
echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">';
$odd = !$odd;
誰でもこのコードを説明できますか?
$odd= true;
echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">';
$odd = !$odd;
誰でもこのコードを説明できますか?
この式は三項演算子[a] ? [b] : [c]
と呼ばれます。これは、次の関数と同じです。
function ternary($a, $b, $c) {
if ($a)
return $b;
else
return $c;
}
ただし、三項演算子の引数は遅延評価されます (つまり、実際には[b]
andの 1 つだけが実行されます)。[c]
$odd = !$odd
$odd
と の間true
での値を切り替えますfalse
。
このコードは、クラスodd_row
とを交互に持つテーブル行を出力するループ内で使用されている可能性がありeven_row
、CSS を使用して異なるスタイルを設定できます。
これの意味は
if ($odd == true){
echo '<tr class="odd_row">';
}else{
echo '<tr class="even_row">';
}
三項演算子と呼ばれる
次に$odd = !$odd;
、この変数の値によって「反転」されます。次の行を「均等」にするために行われたと思います。
これは、$odd
変数をブール値に設定していますtrue
$odd= true;
これは、三項演算子と呼ばれるものを使用して文字列を出力します。true の場合$odd
は最初のビットを出力し、そうでない場合は 2 番目のビットを出力します。$odd
直前に true に設定したため、常に最初のビットが出力されます
echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">';
これは(not)に設定$odd
されるため、ブール値が false に反転します $odd = !$odd;!
$odd
文字通りの説明で申し訳ありませんが、徹底したかったのです