PHP ???
PHP ???
? ???? PHP?? ??? ???? ???? ??? ?? ?????.
PHP??? ?? ??? =? ???? ??? ?? ?????.
PHP??? ?? ??? +? ???? ?? ????.
PHP ?? ???
? x*y ??> x / y x? y? ?.
????????????????????????????????????????????????????????????????????????????????????????????????????????????? 2
a .b ??????????????????????????????????????????????????????????????????????“ ?? ???? %? ???? ???? ????. ???($ a)? ??? ?? ?? ??? ?????.
?? ?? ??? ?? ???? ???? ?? ??? ??? ?????.
?
<?php $x=10; $y=6; echo ($x + $y); // 輸出16 echo '<br/>' echo ($x - $y); // 輸出4 echo '<br/>' echo ($x * $y); // 輸出60 echo '<br/>' echo ($x / $y); // 輸出1.6666666666667 echo '<br/>' echo ($x % $y); // 輸出4 ?>
PHP7+ ?? intdiv? ??? ?? ??? ??? (), ?? ?:
<?php var_dump(intdiv(10, 3)); ?>
? ?? ??? ?????:
int(3)
PHP ?? ???
??? ??x = y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? ?
x += y ???????????????????????????????????????????????????????????????????????????????????????????????>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????????????? ?? ?? ??? ??
PHP?? ?? ?? ???? "="???. ?? ?? ????? ??? ???? ??? ???? ?????. ?, "$x = 5"? ?? 5???.
?? ?? ??? ?? ???? ???? ?? ??? ??? ?????. ?<?php $x=10; echo $x; // 輸出10 $y=20; $y += 100; echo $y; // 輸出120 $z=50; $z -= 25; echo $z; // 輸出25 $i=5; $i *= 6; echo $i; // 輸出30 $j=10; $j /= 5; echo $j; // 輸出2 $k=15; $k %= 4; echo $k; // 輸出3 ?>
?? ?? ??? ??? ???? ??? ??? ??? ?????.
?
<?php $a = "Hello"; $b = $a . " world!"; echo $b; // 輸出Hello world! $x="Hello"; $x .= " world!"; echo $x; // 輸出Hello world! ?>
x ++ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????????~??????????????????????????????????????????????????????? x? 1?? ???? ? x? ???? x? ??? ? x 1? ???
?? ???? in ????/ ?? ???:
?
<?php $x=10; echo ++$x; // 輸出11 $y=10; echo $y++; // 輸出10 $z=5; echo --$z; // 輸出4 $i=5; echo $i--; // 輸出5 ?>
???? ????
???? ???? ?? ??? ?????. http:// php.net/manual/zh/??.operators.precedence.php
? ?????. ??? ??? ????. ????? ???? ??? ?? ??? ?? ??? ????
??????! ?? NOT
· ??? ??? ??? ??? ?? ???? ????(??? ???? ?? ? ?? ??? ??)
? ?? ???(?? ??? ?? ??)
? ?? ???(?? ??? ????? ???)
$result = 3 * 2 + 1 > 8 / 4 - 1 == 1? ??? ??? ???.
? ???? ?? ???? ??? ???? ????? ??? ???? ?? ? ????.$result = 3 * 2 + 1 > 8 / 4 - 1 == 1;?? ?? ?? ??? ??>PHP ?? ????? ???? ???? ??? ??? ? ????. ? ? ??: ??If x? y? ?? ??? ???? true? ?????. 5= ==="5" false? ?????x != y? y? ?? ?? x? y? ?? ??? true? ?????. 5!=8 true ??x & lt;> x? y? ?? ?? ?? true? ?? ? ? ? ? ? ? ? ? ? ? ? 5<>8 true ?? "5" true ?? ??>x<y x >= y? y?? ??? ?? x? y?? ??? ??? true? ???? 5>=8 false? ?????x < = y ??? ?? x? y?? ??? ??? true? ?????. ? ? ? ? ? ? ? ? ? ? ? ? ? 5<=8 true? ??????? ??? ? ???? ?? === ? ! ==. $a===$b? $a? $b? ????? ??? ?? ??? ??? ????? ?? ?????. ! ==? ===? ?? ??? ????. $a!==$b? $a? $b? ??? ??? ???? ??? ?????. PHP??? null, false, array(), "", 0, "0" ?? ?? ?? ?? ??? ?????.==? ???? null == false, 0 == "0", null== array(), false == ""...?? true? ???? ===? ???? false? ?????
???! ??! ==? =
???? ?? ?? ???? ??? ?? ???. =? ?? ???? ==? ?? ?????.
?? ???? ? ??? ?????. ?? ??? ?? ?? ?? ?? ???:
Instance
<?php $x=100; $y="100"; var_dump($x == $y); echo "<br>"; var_dump($x === $y); echo "<br>"; var_dump($x != $y); echo "<br>"; var_dump($x !== $y); echo "<br>"; $a=50; $b=90; var_dump($a > $b); echo "<br>"; var_dump($a < $b); ?>
PHP ?? ???
??? ???????????????????????????????????????????????
x ? y??????????????????~????????????????????? ??> ???????????????????????????????????????????????(x < 10 ? y > 1) true? ?????
x ?? y
y = 3
(x == 6 ?? y == 5) True? ??
x xor y ?? x? y? ??? ?? ??? true? ?? True? ?? x = 6
(x == 6 xor y == 3) false? ??
x && y ??? x? y? true?? True? ?? x=6 ???????????????????????????????????? ? ? ? ? ? ? ? ? ? y=3
?????????????????????????????????????????????????(x < 10 && y > 1) true? ?????
x || y
??????????????> > > ??>??????????????????????????????????????????????????????????????????????????????????????????????????????????~????>
??? ?????????????????????????????????????????????????????????? set x? y? ?/? ?? ??? ?? true? ?????
x <> y????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???? ?? ?? true? ?????.
?? ???? ?? ?? ???? ???? ?? ??? ??? ?????.
<?php $x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; // $x 和 $y 數(shù)組合并 var_dump($z); var_dump($x == $y); var_dump($x === $y); var_dump($x != $y); var_dump($x <> $y); var_dump($x !== $y); ?>
?? ???
? ?? ???? "?:"(?? ?? ??? ??) ??????. ?? ??
(expr1) ? (expr2) : (expr3)
expr1? TRUE? ??? ?? ?? expr2??, expr1? FALSE? ??? ?? ?? expr3???.
PHP 5.3?? ?? ???? ?? ??? ??? ? ????. expr1 ?: expr3 ???? expr1? TRUE? ???? expr1? ???? ??? ??? expr3? ?????.
?
?? ???? $_GET ??? ??? ?? ???? ??? ???? $_GET['user']? ????, ??? ??? ??? ???? ????.
<?php $test = '歡迎學(xué)習(xí)PHP'; // 普通寫(xiě)法 $username = isset($test) ? $test : 'nobody'; echo $username, PHP_EOL; // PHP 5.3+ 版本寫(xiě)法 $username = $test ?: 'nobody'; echo $username, PHP_EOL; ?>
PHP ??? ?? ?? ?????
PHP ??? ?? ?? ?????
??: PHP_EOL? ?? ???? ? ? ???? ?????.
PHP7+ ???? NULL ?? ???? ??? ????. ??? ??? ????:
<?php // 如果 $_GET['user'] 不存在返回 'nobody',否則返回 $_GET['user'] 的值 $username = $_GET['user'] ?? 'nobody'; // 類似的三元運(yùn)算符 $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; ?>
?? ?? ???(PHP7+)
PHP7+? ?? ?? ???? ?????. ?? ??? ????:
<?php // 整型 echo 1 <=> 1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1 // 浮點(diǎn)型 echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // 字符串 echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1 ?>