引言
IT界普遍认为,程序是由算法和数据结构组成。但在软件开发过程中,算法和数据结构大多已封装的十分完美,多数开发人员甚至感知不到它们的存在。对软件开发人员来说,业务逻辑和简单运算才是日常开发中经常接触的东西,接下来就让我带着大家对这两部分进行简单的学习。
1. 运算符
1.1 算术运算符
算术运算符是我们需要经常接触到了,主要包括了加减乘除四则运算及求模操作。
//算术运算符
$a = 3;
$b = 4;
echo '加为:' . ($a + $b);
echo '<br/>';
echo '减为:' . ($a - $b);
echo '<br/>';
echo '乘为:' . ($a * $b);
echo '<br/>';
echo '除为:' . ($a / $b);
echo '<br/>';
echo '模为:' . ($a % $b);
1.2 比较运算符
比较运算符就是大于、等于、小于、不等于、大于等于、小于等于。
/比较运算符
echo '等于:';
var_dump($a == $b);
echo '<br/>';
echo '不等于:';
var_dump($a != $b);
echo '<br/>';
echo '大于:';
var_dump($a > $b);
echo '<br/>';
echo '小于:';
var_dump($a < $b);
echo '<br/>';
echo '大于等于:';
var_dump($a >= $b);
echo '<br/>';
echo '小于等于:';
var_dump($a <= $b);
需要注意的是,由于PHP是弱类型语言,所以等于分为两种情况:只判断值相等、值相等和类型相等都判断。若值和类型都判断的话,就需要使用绝对相等(===)和不绝对相等(!===)来判断。
$e = 3;
$d = '3';
echo '绝对等于:';
var_dump($e === $d);
echo '<br/>';
echo '不绝对等于:';
var_dump($e !== $d);
感兴趣的同学可以试一下,感受一下两者的不同。
此外,PHP语法较为丰富。不等于除了可以采用!=来表示,也可以使用<>来表示。这与oracle的不等于语法较为类似。
echo '不等于另一种写法:';
var_dump($a <> $b);
echo '<br/>';
1.3 逻辑运算符
学习过《离散数学》的同学们对这个不会陌生,逻辑运算符包括与、或、非、异或。
//逻辑运算符
$f = true;
$g = false;
echo '与为:';
var_dump($f and $g);
echo '<br/>';
echo '与的另一种写法为:';
var_dump($f && $g);
echo '<br/>';
echo '或为:';
var_dump($f or $g);
echo '<br/>';
echo '或的另一种写法为:';
var_dump($f || $g);
echo '<br/>';
echo '非为:';
var_dump(!$f);
echo '<br/>';
echo '异或为:';
var_dump($f xor $g);
echo '<br/>';
2. 逻辑控制语句
2.1 if-else
<?php
$a = 38;
if ($a < 10) {
echo '这是一位数';
} else if ($a >= 10 && $a < 100) {
echo '这是两位数';
} else {
echo '这个数已超越了两位数';
}
这个逻辑编写方式跟C语言是一样的,如果满足第一个条件,就走第一个逻辑。即满足哪个条件走哪个逻辑。
2.2 switch
switch跟if类似,但其多用于可以枚举的类型。比如性别只有男性和女性。
$sex = 1;
switch ($sex) {
case 0:
{
echo '男性';
break;
}
case 1:
{
echo '女性';
break;
}
default:
{
echo '第三性别';
}
}
2.3 循环逻辑for
计算机与人类相比的最大优势就是其不辞劳苦,善于做重复的事情,而这些正是循环逻辑来实现的。
$time = 10;
for ($i = 0; $i < $time; $i++) {
echo '这是第' . $i . '次';
echo '<br/>';
}
结果为:
2.4 while
while与for类似,唯一不同的是,for以分号分隔为3个部分。拿for ($i = 0; $i < $time; $i++) 来讲,$i=0;是初始条件,只有第一次循环时才会执行,$i < $time;是判断是否再次循环的条件,$i++是每次循环执行完成后都会执行的语句,而while只会判断是否再次循环。同样的逻辑,我们用while来实现一下。
$j = 0;
while ($j < $time) {
echo '这是第' . $j . '次';
echo '<br/>';
$j++;
}
可以看下,结果是一样的。
总结
本篇主要讲了PHP的运算符和逻辑控制语句,很多语句不止一种写法,比如for循环就有foreach写法,感兴趣的同学可以自行百度搜索一下。如果实在不懂也可以留言,我也会抽空为大家一一解答。