アットウィキロゴ

?が示す意味
terniary 条件文という式がありますが、 他の言語で見たことがない場合には理解できないかもしれません。

$first ? $second : $third

最初の部分式の値が TRUE (非ゼロ)の場合、二番目の部分式が評価され、 この条件文の結果となります。 そうでない場合、三番目の部分式が評価され、この文の値となります。

次の例は、前置および後置加算子と多少一般的な式の理解を 助けてくれることでしょう。

function double($i) {
return $i*2;
}
$b = $a = 5; /* 値 5 を %a と $b に代入します */
$c = $a++; /* 後置加算なので、$c に代入される値は、$a の
元の値 (5) です */
$e = $d = ++$b; /* 前置加算なので、$d と 4e に代入される値は、
加算後の $b の値 (6) です */

/* ここままで、$d と $e は、6 です */

$f = double($d++); /* $f には、$d が加算される<emphasis>前</emphasis>の値を2倍した値、
つまり 2*6 = 12 が、代入されます。
$g = double(++$e); /* $g には、$e が加算された<emphasis>後</emphasis>の値を2倍した値、
つまり 2*7 = 14 が、代入されます。
$h = $g += 10; /* まず、$g に 10 が加算され、24 になります。代入値 (24) は、
$h に代入されます。そして、$a も同様に 24 になります。 */

タグ:

+ タグ編集
  • タグ:
最終更新:2008年08月30日 22:24