【PHP学习笔记】运算符

算数运算符

【PHP学习笔记】运算符

$x = 10;
$y = 6;
echo '加法运算'; //换行
echo '<br>'; //换行
echo ($x + $y); //输出16
echo '<br>'; //换行
echo '减法'; //换行
echo '<br>'; //换行
echo ($x - $y); //输出4
echo '<br>'; //换行
echo '乘法'; //换行
echo '<br>'; //换行
echo ($x * $y); //输出60
echo '<br>'; //换行
echo '除法'; //换行
echo '<br>'; //换行
echo ($x / $y); //输出1.6666666666667
echo '<br>'; //换行
echo '模(除法的余数)'; //换行
echo '<br>'; //换行
echo ($x % $y); //输出4
echo '<br>'; //换行
echo '取反'; //换行
echo '<br>'; //换行
echo ~$x;
echo '<br>'; //换行
echo '设置负数'; //换行
echo '<br>'; //换行
echo -$x;
//整数之间的整除,参数也必须是整数,向下取整
var_dump(intdiv(10, 3));

赋值运算符号

【PHP学习笔记】运算符

$x = 10;
echo $x; //输出10
echo '<br>'; //换行
echo '加法运算'; //换行
echo '<br>'; //换行
$y = 20;
$y += 100;
echo $y; //输出120
echo '<br>'; //换行
$y = 20;
$y -= 100;
echo $y; //输出-80
echo '<br>'; //换行
echo '减法运算'; //换行
echo '<br>'; //换行
$z = 50;
$z -= 25;
echo $z; //输出25
echo '<br>'; //换行
echo '乘运算'; //换行
echo '<br>'; //换行
$i = 5;
$i *= 6;
echo $i; //输出30
echo '<br>'; //换行
echo '除运算'; //换行
echo '<br>'; //换行
$j = 10;
$j /= 5;
echo $j; //输出2
echo '<br>'; //换行
echo '模(除法的余数)'; //换行
echo '<br>'; //换行
$k = 15;
$k %= 4;
echo $k; //输出3

递增/递减

【PHP学习笔记】运算符

echo '递增'; //换行
echo '<br>'; //换行
$x = 10;
echo ++$x; //输出11
echo '<br>'; //换行
$y = 10;
echo $y++; //输出10
echo '<br>'; //换行
echo $y; //输出11
echo '<br>'; //换行
echo '递减'; //换行
echo '<br>'; //换行
$z = 5;
echo --$z; //输出4
echo '<br>'; //换行
$i = 5;
echo $i--; //输出5
echo '<br>'; //换行
echo $i; //输出4

比较运算符

【PHP学习笔记】运算符

$x = 100;
$y = "100";
$c = 100;
$d = 10;
echo "等于";
echo "<br>";
var_dump($x == $y); // 100 = 100 输出true
echo "<br>";
/*
 * 输出错|是因为这是绝对等于不仅值要相同且数据类型也要相同
 * 其中:
 *   x为100为int
 *   y为100但是为string
 * 所以就输出为var_dump($x === $y); 输出false
 * 但是c和x的值和类型为一样的就输出true
 **/
echo "绝对等于";
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x === $c);
echo "<br>";
echo "不等于";
echo "<br>";
var_dump($x != $y); //100 = 100 输出false
echo "<br>";
var_dump($x <> $y); //100 = 100 输出false|写法与!=一致
echo "<br>";
var_dump($x != $d); //100 = 10 输出true
echo "<br>";
/*
 * 输出false|是因为这是绝对等于不仅值要相同且数据类型也要相同
 * 其中:
 *   x为100为int
 *   y为100但是为string
 * 所以就输出为var_dump($x !== $y); 输出false
 * 但是c和x的值和类型为一样的就输出true
 **/
echo "绝对不等于";
echo "<br>";
var_dump($x !== $y);
echo "<br>";
var_dump($x !== $c);
echo "<br>";
/**
 * 字符串数字去减一个整数的数字会返回一个整数的数字
 */
var_dump($y - $x);
echo "<br>";
$h = 50;
$a = 50;
$b = 90;
$g = 90;
echo "大于";
echo "<br>";
var_dump($a > $b); // 50 > 90 输出为false
echo "<br>";
echo "小于";
echo "<br>";
var_dump($a < $b); // 50 < 90 输出为true
echo "<br>";
echo "小于等于";
echo "<br>";
var_dump($a <= $b); // 50 <且= 90 输出为true
echo "<br>";
var_dump($a <= $h); // 50 <且= 50 输出为true
echo "<br>";
echo "大于等于";
echo "<br>";
var_dump($a >= $b); // 50 >且= 90 输出为 false
echo "<br>";
var_dump($g >= $b);// 90 >且= 90 输出为 true

逻辑运算符

【PHP学习笔记】运算符

这个就没什么必要写详细写法了

$h = 10;
$a = 20;
$c = 30;
echo 'and运算符';
echo "<br>";
/**
 * 意思为$h > $a 和 $a < $h都为同样的布尔值false时则输出为false
 * 将$h > $a 和 $a < $h改为$h < $a  and $a > $h则输出ture
 * 这是因为两个都输出为同样的布尔值则输出true
 * &&运算符和这个一样但是优先级高
 */
var_dump($h < $a  and $a > $h);
echo "<br>";
echo 'or运算符';
echo "<br>";
/**
 * 意思为$h < $a 和 $a < $h其中一个为布尔值为true则输出为会输出为true
 * 将$h < $a改为$h > $a则会输出false
 * 这是因为同样的布尔值都是false所以输出为false
 * ||运算符和这个一样但是优先级高|且这个运算符号叫做【意思为且有一个为true】
 */
var_dump($h > $a or $a < $h);
echo "<br>";
echo 'xor运算符';
echo "<br>";
/**
 * 意思为$h < $a xor $a < $h xor $c < $a其中有且只有一个true则输出为true
 * 可以尝试将改$h > $a为$a < $h 则会输出为false
 * 这是因为有两个为ture是【违背了有且只有一个true】的原则所以输出为false
 */
var_dump($h < $a xor $a < $h xor $c < $a);
echo "<br>";
echo "优先级";
$bool = true && false
var_dump($bool)//输出为false
$bool_1 = true and false
var_dump($bool_1)//输出为true

阻断效果

/**
 * 输出为1因为使用了and优先级不高先进行赋值$result = 1
 * 那么这时$result的值就是 1
 * 1不仅仅是数字在bool中它代表了true|0不仅仅是数字在bool中它同时也代表了fasle
 * 那么可以看作为$result = $result or var_dump('执行这段语句');
 * var_dump($result);输出则为1,为什么不输出为true?记住这句【1不仅仅是数字在bool中它代表了true】
 * 代表了true并不是他就是bool类型了,他还是数字类型也就是int
 * 可以将1改为0试试输出且执行的则是var_dump('执行这段语句')这段|同时也会把数值输出执行出来
 *
 * 加上括号之后先执行括号中的然后再赋值给$result最后再由var_dump来输出类型
 * and和or为同样的道理
 */
echo "<br>";
echo 'or运算符';
echo "<br>";
$result =  1 or var_dump('执行这段语句');
var_dump($result);
echo "<br>";
$result = (1 or var_dump('执行这段语句'));
var_dump($result);
echo "<br>";
echo 'and运算符';
echo "<br>";
$result =  0 and var_dump('执行这段语句');
var_dump($result);
echo "<br>";
$result = (0 and var_dump('执行这段语句'));
var_dump($result);
echo "<br>";

总结

1.var_dump(intdiv(10, 3));被除和除的数值都必须是整数
2.算数运算符和生活中的数学计算大差不差但是其中 = 不是等于的意思,在开始学习的时候就学到 = 为赋值
3.其中赋值运算符号可以想象为简写一个算数运算的过程$y += 100; | 其实就是$y =  $y + 100; 其中$y已经被赋值为20了
4.赋值运算符号只能在=号之前
5.递增递减运算符中运算符号在值之[前]的意思为先[+1 or -1]然后再[+ or -] 值其次运算符号在值之[后]的意思为获取值再进行[+1 or -1]然后再[+ or -] 值但是算符号在值之[后]也就是$y++依旧输出10要是想获取到11就递增之后的值还得再次输出$y才能得到11的值|简单来说谁在前面先执行输出谁
6.&&和||的优先级比and和or要高先执行&&和||再去运算and和or
7,如果使用and时先执行$bool_1 = true这一段所以输出为true但是使用&&时先执行true && false时则输出为false
8,阻断效果中最难理解的就是1了|其实只要知道1可以作为bool的true使用而0可以作为bool的false使用即可

版权声明

  • 1.本站文章基本属于原创,搬运者请标注来源地址
  • 2.部分文章转载需经过作者同意。
  • 3.网站资源来源于网络,仅供学习!
  • 4.待添加....
  • PHP学习笔记编程学习笔记

    【PHP学习笔记】EOF(heredoc)定界点

    2024-4-5 20:38:57

    Html|JavaScript|Css学习笔记编程学习笔记

    【Js学习笔记】什么是JavaScript

    2024-4-6 12:47:09

    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    有新私信 私信列表
    搜索
    歌曲封面