一、变量的方法。
1、empty
可以用empty的方法能够判断变量的值是不是为空。
①如果我们看一下某一个变量是不是已经存在过了
假如我们输出一下
var_dump (empty($a));
返回值为true,那么说明这个变量a是空的。
那么如果我们前面定义一下变量a为10:
$a=10; var_dump (empty($a));
输出得到false:
也就是说由此我们可以运用empty来判定变量值是否为空了。
②(如果a的值为0或者为字符串,即使定义也是为空)
2、isset
isset代表这个变量是否定义,设置。
var_dump(isset($a));
如果加上变量
$a=10; var_dump (empty($a));
★也就是说,isset方法是判断变量是否定义。
3、unset删除变量
$a=10; unset($a); var_dump(isset($a));
★删除变量的方法。
4、变量的符号
每个变量在存的时候都有一个地址。
①&:在定义变量时,代表变量的地址。取地址。
假如我定义一个:$=10;
10存在了内存中的一个位置,我们根据一个地址来找到10所在的位置,然后将10取出来。
再定义一个:$b=&$a;
这个变量b不赋值,而是让它取一个a的地址,然后交给b,输出:
B的值等于:
也就是说这个变量a找10是根据一个地址去找的,地址是无法直接输出的,所以只能根据地址去找,一样的地址当然寻找一样的结果。
②&变量地址举例:
给b赋值输出得到
也就是说,a给了我们一个地址存有10,而b根据这个地址找到10后改成5了,而a再根据这个地址回去,10就已经变成5了。不管a再去找或b再去找,再不更改的情况下就都是5了。
二、运算符表达式
1、数学运算符
$a=10; $b=7; echo $a*$b;
输出时中间可以使用+,-,*,/,%(取余),++,
弱类型语言中间用/除号除以都会得到小数,而在强类型语言中的/可能会是整数。
++a:自身加一个1(和JS一样)
a++:先用a,再进行加1.
--:自身减1
例:输出得到
为什么得10呢?
因为a++代表的是先用a,再进行加1.
2、字符串
字符串之间的拼接,就用点.来连接两个字符串。
3、比较运算符
比较运算符是用来做条件的。
假如说下列a是否大于b?
$a=10; $b=8; var_dump($a>$b)
如果说a大于b,条件满足,会返回一个true,如果条件不满足,就会返回fales。
注意:
=:代表赋值。
==:代表等于。
!=:不等于。<>这个符号也可以在PHP里面使用。
4、逻辑运算符
关于布尔型的数据之间的运算。
①逻辑与的运算。(and语法也可以)
如果两个布尔型的数据进行一个与的运算:
$a = true; $b = false; var_dump($a && $b);
得出一个false的结论,也就是说,如果两个bool型数据进行与的运算,只要其中一个有false,那么结果就是false了。当然,不管只要其中有一个flase,那么其他的多少个都是一样的结果。
②逻辑或的运算。(or语法也支持)
$a = true; $b = false; var_dump($a || $b);
得出的结果是true。也就是说如果多个bool型数据进行或的运算,只要其中有一个true,那么结果肯定就是true。
③逻辑非的运算。(反向操作)
$a = true; $b = false; var_dump(!$a);
(!$a)或(!$b)输出都是不一样的结果。也就是说,逻辑非相当于取反。
5、三目运算符
三目运算符相当于一个很简单的分支,前面可以写一个条件 ,或者一个bool型的数据。
例:
$a = 10; $b = 8; echo $a==$b?"相等":"不相等";
如果条件成立就输出前面的字符串“相等”。
如果条件不成立就输出后面字符串“不相等”。
三目运算符经常用在定义男女的方式中。
6、@错误抑制符
例:
直接输出一个变量a:echo $a;
这个错误说明没有定义变量a。
Notice:提醒,并不是很严重的。(一些提醒不是真正的错误)
Warning:警告 严重。
error:错误! 严重。
既然我们现在的错误并不是很严重,我们如何不让这个错误提示显示?
那么这个时候我们就可以使用错误抑制符:@。
输出:echo @$a;
这时错误的提示信息就已经被隐藏了。不会再让用户看到。但是只能屏蔽Notice和Waening。
三、语句
①分支语句
一个条件满足就执行,不满足就执行另外的条件。
(可以省掉花括号,但尽量不要)
(1)最简单的分支:
$a=8; if($a<10) { echo "A小于10"; }
if ,else的写法(和js一样)
$a=8; if ($a<10) { echo "满足执行"; } else { echo "不满足时执行"; }
else if的写法
$=8; if ($a<10) { echo "A小于10"; } else if($a<20) { echo "A在10至20之间"; } { echo "A大于20"; }
(2)switch...case第二种分支语句
$a=2; switch($a) { case 1: echo "111"; break; case 2: echo "222"; break; case 3: echo "333"; break; default: echo "777"; }
当值等于1的时候执行111的代码,如果当值不等于以上三个,就走default.
②循环语句
与JS有差别
(1)for循环
JS写法:
for( var i=0;i<10;i++) { alert(i); }
PHP写法:
for($i=0;$i<10;$i++) { echo $i; }
语法是一样的,不同的是变量名和变量方式。
如果想要实现换行,如图下:
for($i=0;$i<10;$i++) { echo $i."<br>"; }
(2)while循环
括号里的条件如果写true就是死循环。
$a = 10; while($a<30) { echo "{$a}<br>"; $a++; }
do...while循环:
$a=0; do { echo "{$a}<br>"; $a++; } while($a<10)
foreach循环,是专门来遍历数组的。
foreach($attr as $v) { $v; }
$att(数组) as(拼接分割) $v(变量)
as将数组里面的每一个元素分别拿到V里面,然后可以操作$v。