PHP入门——运算符

来源:互联网 发布:电子电路软件哪个好 编辑:程序博客网 时间:2024/05/29 14:56

PHP strlen() 函数

有时知道字符串值的长度是很有用的。

strlen() 函数返回字符串的长度(字符数)。

下面的实例返回字符串 "Hello world!" 的长度:

实例

<?php 
echo strlen("Hello world!"); 
?>
              strlen()的中文应用
<?phpecho strlen("中文字符");   // 输出 12?>

输出结果为 12,因为一个中文占 3 个字符数。

可以使用 mb_strlen 设置指定编码输出中文字符个数:

<?phpecho mb_strlen("中文字符",'utf-8');  // 输出 4?>

PHP strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

下面的实例在字符串 "Hello world!" 中查找文本 "world":

实例

<?php 
echo strpos("Hello world!","world"); 
?>



PHP 算术运算符

运算符名称描述实例结果x + y加x 和 y 的和2 + 24x - y减x 和 y 的差5 - 23x * y乘x 和 y 的积5 * 210x / y除x 和 y 的商15 / 53x % y模(除法的余数)x 除以 y 的余数5 % 2
10 % 8
10 % 21
2
0- x取反x 取反-2-2a . b并置连接两个字符串"Hi" . "Ha"HiHa

以下实例演示了使用不同算术运算符得到的不同结果:

实例

<?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
echo'<br>';// 换行
echo -$x;
?>




PHP 递增/递减运算符

运算符名称描述++ x预递增x 加 1,然后返回 xx ++后递增返回 x,然后 x 加 1-- x预递减x 减 1,然后返回 xx --后递减返回 x,然后 x 减 1

以下实例演示了使用递增/递减运算符得到的结果:

实例

<?php$x=10;
echo ++$x;// 输出11
$y=10;echo$y++;// 输出10
$z=5;echo --$z;// 输出4
$i=5;echo$i--;// 输出5
?>


PHP 比较运算符

比较操作符可以让您比较两个值:

运算符名称描述实例x == y等于如果 x 等于 y,则返回 true5==8 返回 falsex === y绝对等于如果 x 等于 y,且它们类型相同,则返回 true5==="5" 返回 falsex != y不等于如果 x 不等于 y,则返回 true5!=8 返回 truex <> y不等于如果 x 不等于 y,则返回 true5<>8 返回 truex !== y绝对不等于如果 x 不等于 y,或它们类型不相同,则返回 true5!=="5" 返回 truex > y大于如果 x 大于 y,则返回 true5>8 返回 falsex < y小于如果 x 小于 y,则返回 true5<8 返回 truex >= y大于等于如果 x 大于或者等于 y,则返回 true5>=8 返回 falsex <= y小于等于如果 x 小于或者等于 y,则返回 true5<=8 返回 true

以下实例演示了使用一些比较运算符得到的不同结果:

实例

<?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);
?>

运算符优先级

下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

结合方向运算符附加信息无clone newclone 和 new左[array()右++ — ~ (int) (float) (string) (array) (object) (bool) @类型和递增/递减无instanceof类型右!逻辑运算符左* / %算术运算符左+ – .算术运算符和字符串运算符左<< >>位运算符无== != === !== <>比较运算符左&位运算符和引用左^位运算符左|位运算符左&&逻辑运算符左||逻辑运算符左? :三元运算符右= += -= *= /= .= %= &= |= ^= <<= >>= =>赋值运算符左and逻辑运算符左xor逻辑运算符左or逻辑运算符左,多处用到

运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

实例

<?php
// 优先级: && > = > and
// 优先级: || > = > or
$a = 3;
$b =false;
$c =$aor$b;
var_dump($c);// 这里的 $c 为 int 值3,而不是 boolean 值 true
$d = $a ||$b;var_dump($d);//这里的 $d 就是 boolean 值 true
?>

以上实例输出结果为:

int(3)bool(true)

括号的使用

我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。

实例

<?php
// 括号优先运算
$a = 1;
$b =2;
$c =3;
$d =$a +$b *$c;
echo$d;
echo"\n";
$e =($a + $b) * $c;// 使用括号
echo$e;
echo"\n";
?>

以上实例输出结果为:

79



原创粉丝点击