<p> Classification of operators: </p>
<p>PHP operators can be divided into unary operators, binary operators, and ternary operators according to the number of operands. Unary operators such as <code>!</code> (inversion operator) or <code>++</code> (plus one operator). Most of the operators supported by PHP are such binary operators, for example Arithmetic operators such as <code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, etc., while there is only one ternary operator (<code>?:</code>). In addition, operators can be classified according to their functions: <a href="http://www.php.cn/wiki/84.html" target="_blank">arithmetic operators</a>,<a href="http://www.php.cn/wiki/101.html" target="_blank">string operators</a>,<a href="http://www.php.cn/wiki/423.html" target="_blank">assignment operators</a>,<a href="http://www.php.cn/wiki/91.html" target="_blank">comparison operators </a>, <a href="http://www.php.cn/wiki/100.html" target="_blank">logical operators</a>, bitwise operators and other operators. </p>
<h2><span style="font-size: 16px;">1. Arithmetic operators</span></h2>
<table>
<tbody>
<tr class="firstRow">
<td>Operator</td>
<td>Meaning</td>
<td>Writing format</td>
</tr>
<tr>
<td>+</td>
<td>Addition operation</td>
<td>$a+$b</td>
</tr>
<tr>
<td>-</td>
<td>Subtraction operation </td>
<td>$a-$b</td>
</tr>
<tr>
<td>*</td>
<td>Multiplication operations</td>
<td>$a*$b</td>
</tr>
<tr> <td>/</td>
<td>Division operation</td>
<td>$a/$b</td>
</tr>
<tr>##%<td></td>Get division remainder operation<td></td>$a%$b<td></td>
</tr>
<tr>++<td></td>increments by 1. For example, $a++ is actually $a=$a+1<td></td>$a++ <td></td>
</tr>
<tr>--<td></td>decreases by 1, for example $a--, actually $a=$a-1<td></td>$a--<td></td>
</tr>
</tbody>
<p>在算数运算符中,有个几乎所有程序都拥有的递增和递减规则,如下所示:</p>
<ul class=" list-paddingleft-2">
<li><p><code>$a++</code>先计算表达式的值,然后自身加1</p></li>
<li><p><code>$a--</code>先计算表达式的值,然后自身减1</p></li>
<li><p><code>++$a</code>先自身加1,然后计算表达式的值</p></li>
<li><p><code>--$a</code>先自身减1,然后计算表达式的值</p></li>
</ul>
<p>实例:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"><?php
$count=1;
echo $count++; //这一行打印出1
echo ++$count; //这一行打印出3?></pre><div class="contentsignin">Copy after login</div></div><h2><span style="font-size: 16px;">2. 字符串运算符</span></h2><p>在PHP中字符串运算符只有一个,是英文的句号("."),也称为连接运算符。这个运算符不仅可以将两个<a href="http://www.php.cn/code/7514.html" target="_blank">字符串连接</a>起来,变成合并的新字符串,也可以将一个字符串和任何标量数据类型相连接,合并成的都是新的字符串。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"><?php
$name = "Kevin";
//定义一个人的名字为字符串类型
$age = 22;
//定义一个人的年龄为整型
$height = 1.85;
//定义一个人的身高为浮点型
//将以上不同类型的变量使用点操作符和字符串连接起来,一起输出
echo "我的名字是:".$name.",我的年龄是:".$age.",我的身高".$height."米。"."<br>";
?></pre><div class="contentsignin">Copy after login</div></div><h2><span style="font-size: 16px;">3. 赋值运算符</span></h2><ul class=" list-paddingleft-2"><li><p><code>=</code>将一个值或表达式的结果赋值给变量</p></li><li><p><code>+=</code>将变量与所赋的值相加后的结果再赋给该变量</p></li><li><p><code>-=</code>将变最与所赋的值相减后的结果再赋给该变量</p></li><li><p><code>*=</code>将变最与所赋的值相乘后的结果再赋给该变量</p></li><li><p><code>/=</code>将变最与所赋的值相除后的结果再赋给该变量</p></li><li><p><code>%=</code>将变最与所赋的值相除取余后的结果再赋给该变量</p></li><li><p><code>.=</code>将变最与所赋的值相连后的结果再赋给该变量</p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"><?php
$a = $b = $c = $d = 20; //$a、$b、$c、$d的值都为20
$a += 5; //等价于 $a = $a+5;
$b -= 5; //等价于 $b = $b-5;
$c *= 5; //等价于 $c = $c*5;
$d /= 5; //等价于 $d = $d/5;
$e %= 5; //等价于 $e = $e%5;
$result="结果是:";
$result .= "\$a自加5以后的值为: ${a},";
$result .= "\$b自减5以后的值为: ${b},";
$result .= "\$c自乘5以后的值为: ${c},";
$result .= "\$d自除5以后的值为: ${d},";
$result .= "\$e自除5取余以后的值为: ${e}。";
echo $result; //输出全部相连后的字符串结果
?></pre><div class="contentsignin">Copy after login</div></div><h2><span style="font-size: 16px;">4. 比较运算符</span></h2><ul class=" list-paddingleft-2"><li><p><code>></code>大于,当左边操作数大于右边操作数时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code><</code>小于,当左边操作数小于右边操作数时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code>>=</code>大于等于,当左边操作数大于等于右边操作数时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code><=</code>小于等于,当左边操作数小于等于右边操作数时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code>==</code>等于,当左边操作数等于右边操作数时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code>===</code>全等于,当左边操作数等于右边操作数,并且他们的类型也相同时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code><></code>或<code>!=</code>不等于,当左边操作数不等于右边操作数时返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li><li><p><code>!==</code>不全等于,当左边操作数不等于右边操作数或者两者类型不相等的时候返回<code>TRUE</code>.否则返回<code>FALSE</code></p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"><?php
$a=1; //声明一个整型变量$a值为1
var_dump( $a > 1); //比较的结果为bool(false),1不大于1
var_dump( $a < true ); //比较的结果为bool(false),ture会自动转为1,1等于1
var_dump( $a >= 0.01 ); //比较的结果为bool(true),1大于0.01
var_dump( $a <= "0.10yuan" ); //比较的结果为bool(false),“0.10yuan”会自动转成0.10再比较
var_dump( $a == 1 ); //比较的结果为bool(true),1等于1
var_dump( $a == "1" ); //比较的结果为bool(true),“1”会自动转为1再比较,相等
var_dump( $a === "1" ); //比较的结果为bool(false),内容虽然相同,但不是同一类型的值
var_dump( $a === 1 ); //比较的结果为bool(true),内容相同,类型也相同
var_dump( $a <> 1 ); //比较的结果为bool(false),1等于1,所以为假
var_dump( $a != 1 ); //比较的结果为bool(false),同上
var_dump( $a != 0 ); //比较的结果为bool(true),1不等于0
var_dump( $a !== "1" ); //比较的结果为bool(true),虽然内容相同,但类型不同
?></pre><div class="contentsignin">Copy after login</div></div><h2><span style="font-size: 16px;">5. 逻辑运算符</span></h2><p>PHP提供了4种逻辑运算符:逻辑与(<code>and</code>或<code>&&</code>)、逻辑或(<code>or</code>或<code>||</code>)、逻辑非(<code>not</code>或<code>!</code>)和异或(<code>xor</code>)。</p><ul class=" list-paddingleft-2"><li><p>逻辑与:逻辑与表示“并且”的关系,两边的表达式必须都为<code>TRUE</code>,结果才能为真,否则整个表达式为假。</p></li><li><p>逻辑或:逻辑或表示“或者”的关系,两边的表达式只要有一个为<code>TRUE</code>,结果就为真,否则整个表达式为假。</p></li><li><p>逻辑非:逻辑非表示“取反”的关系,如果表达式为<code>TRUE</code>,结果就变为<code>FALSE</code>,如果表达式为<code>FALSE</code>,结果则为<code>TRUE</code>。</p></li><li><p>逻辑异或:逻辑异或在运算时两边的表达式不同时为<code>TRUE</code>才为<code>TRUE</code>,即必须是一边为TRUE,一边为<code>FALSE</code>。两边的表达式相同时,不管是都是<code>TRUE</code>还是都为<code>FALSE</code>,结果都为<code>FALSE</code>。</p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">$username = "apple"; //将用户名apple保存在变量$username中
$password = "123456"; //将用户密码123456保存在变量$password中
$email = "apple@163.com"; //将用户电子邮件apple@163.com保存在变量$email中
$phone = "400-7654321"; //将用户电话400-7654321保存在变量$phone中
//使用一个“逻辑与”运算符,和比较运算符一起使用共同作为条件判断
if( $username == "apple" && $password == "123456" ) {
echo "用户名和密码输入正确";
}
//使用一个多个“逻辑或”运算符,和比较运算符一起使用共同作为条件判断
if( $username == "" || $password == "" || $email == "" || $phone == "" ) {
echo "所有的值一个都不能为空";
}
//多个不同的逻辑运算符混合使用,和返回boolean值函数一起使用作为条件判断
if( (isset($email) && !empty($email)) || (isset($phone) && !empty($phone)) ) {
echo "最少有一种联系方式";
}</pre><div class="contentsignin">Copy after login</div></div><h2><span style="font-size: 16px;">6. 三元运算符</span></h2><p><code>?:</code>可以提供简单的逻辑判断,在PHP中三元运算符就此一根独苗。等价于条件语句<code>if...else...</code>.其语法格式如下所示:<code>(exprl)? (expr2):(expr3)</code>。其含义是在<code>exprl</code>求值为<code>TRUE</code>时,执行<code>?</code>和<code>:</code>之间的<code>expr2</code>并获取其值,在<code>exprl</code>求值为<code>FALSE</code>时,执行<code>:</code>之后的<code>expr3</code>并获取其值。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"><?php
$money=100;
$result=$money>200?"好有钱":"没钱花了";
//输出没钱花了
echo $result;
?></pre><div class="contentsignin">Copy after login</div></div></table>
The above is the detailed content of How can php operators be classified according to different conditions?. For more information, please follow other related articles on the PHP Chinese website!