php的基础知识(二)
7、系统常量:
常量的定义:常量是程序运行的时候是不可以改变的量
定义格式:define(‘常量名字’,‘常量的值’);
注意:
·不能重复定义
·常量的名字最好用大写字母。
·常量的值只能是标量。
·常量的作用域是全局的。
·输出的时候没有$字符。
·常量不能写到字符串中。
判断常量是否被定义:
defined(‘常量名’);
系统常量:
__FILE__,找到你对应的文件;
__LINE__,你的代码所在的行数,可以显示第几行;
__DIR__,找到你当前访问文件所在的目录;
PHP__OS,获取系统信息;
PHP__VERSION,获取版本信息;
__FUNCTION__,获取当前函数名;
__MHTHOD__,获取当前成员方法名;
__NAMESACE__,获取当前命名空间名字;
__TRAIT__,获取当前TRAIT名字(多继承);
__CLASS__,获取当前类名;
1 <?php 2 define('ABC','abc'); 3 echo ABC; 4 echo '<br />'; 5 defined ABC; 6 $xx = '今天是个好天气!'; 7 $xx = '今天不是好天气!'; 8 echo $xx; 9 echo '<br />'; 10 echo __DIR__; 11 echo '<br />'; 12 echo __FILE__; 13 echo '<br />'; 14 echo __LINE__; 15 echo '<br />'; 16 echo PHP_VERSION; 17 echo '<br />'; 18 function test() 19 { 20 echo __FUNCTION__; 21 } 22 test();
8、运算符:
算术运算符:
+,-,*,/,%(求余或求模)
赋值运算符:
=,-=,+=,*=,/+,%=,.=,+-
自增自减运算符:
++,--
比较运算符:
<,>,>=,<=,==,===,!=,!==,
==:等于,只判断值不比较数据类型。
===:不仅仅比较值还要比较数据类型。
逻辑运算符:
&&,||,!
&&:逻辑与 并且,有一个为假就是假,多个为假还是假,只有同时为真才是真。
||:逻辑或,或者,只有一个为真就是真,多个为假才是假。
!:就是假变成真,真的变成假。
1 <?php 2 $x = 1; 3 $y = 2; 4 $z = $x+$y; 5 echo $z; 6 echo '<br />'; 7 $q = $x-$y; 8 echo $q; 9 echo '<br />'; 10 $c = $x*$y; 11 echo $c; 12 echo '<br />'; 13 $t = $x/$y; 14 echo $t; 15 echo 'br /'; 16 $r = $x%$y; 17 echo $r; 18 19 ?>
1 <?php 2 $x = 1; 3 $x += 1; 4 echo $x; 5 echo '<br />'; 6 $y = 2; 7 $y -= 1; 8 echo $y; 9 echo '<br />'; 10 $z = 3; 11 $z *=2; 12 echo $z; 13 echo '<br />'; 14 $q = 4; 15 $q /= 2; 16 echo $q; 17 echo '<br />'; 18 $w = 5; 19 $w %= 2; 20 echo $w; 21 echo '<br />'; 22 $str = 'abc'; 23 $str .= 'd'; 24 echo $str; 25 ?>
9、为false的几种情况:
1、整形的0在进行判断的时候为假,整形为1再判断的时候为真
2、如果浮点的0.000000都是假的只要后面有一个是非零的数字,即为真。
3、空字符串为假'',如果中间有一个字符都是真哪怕是一个空格。
4、空字符串的0为假,其他皆为真。
5、空数组为假。
6、null 作为判断条件的时候是假的。
流程控制:
if (条件){
真区间
}
//双分支结构
if (条件){
真区间
} else {
假区间
}
1 <?php 2 $num1 = 0; 3 $num2 = 1; 4 $num3 = 0.000000; 5 $num4 = 0.000001; 6 $num5 = 12; 7 $str1 = ''; 8 $str2 = 'abc'; 9 $str3 = '12'; 10 $arr1 = []; 11 $arr2 = [1,2,3]; 12 if ($num1) { 13 echo '这是真区间1';} 14 echo '<br />'; 15 echo '后续代码1'; 16 echo '<br />'; 17 if ($num2) { 18 echo '这是真区间2';} 19 echo '<br />'; 20 echo '后续代码2'; 21 echo '<br />'; 22 if ($num3) { 23 echo '这是真区间3';} 24 echo '<br />'; 25 echo '后续代码3'; 26 echo '<br />'; 27 if ($num4) { 28 echo '这是真区间4';} 29 echo '<br />'; 30 echo '后续代码4'; 31 echo '<br />'; 32 if ($str1) { 33 echo '这是真区间5';} 34 echo '<br />'; 35 echo '后续代码5'; 36 echo '<br />'; 37 if ($str2) { 38 echo '这是真区间6';} 39 echo '<br />'; 40 echo '后续代码6'; 41 echo '<br />'; 42 if ($arr1) { 43 echo '这是真区间7';} 44 echo '<br />'; 45 echo '后续代码7'; 46 echo '<br />'; 47 if ($arr2) { 48 echo '这是真区间8';} 49 echo '<br />'; 50 echo '后续代码8'; 51 echo '<br />'; 52 if ($num5 == $str3) { 53 echo '这是真区间9';} 54 else { 55 echo '这是假区间1';} 56 echo '<br />'; 57 if ($num5 === $str3) { 58 echo '这是真区间10';} 59 else{ 60 echo '这是假区间2';} 61 62 63 64 ?>
10、流程控制:
switch......case......:
1 <?php 2 $test1 = 1; 3 $test2 = 7; 4 $shaizi = mt_rand(1,6); 5 switch ($test1) { 6 case 1: 7 echo 1; 8 break; 9 case 2: 10 echo 2; 11 break; 12 case 3: 13 echo 3; 14 break; 15 default : 16 echo '我是多余的。'; 17 break;} 18 echo '<br />'; 19 switch ($test2) { 20 case 1: 21 case 2: 22 case 3: 23 echo 'abc'; 24 break; 25 case 4: 26 echo 4; 27 break; 28 default : 29 echo'这是多余的。'; 30 break;} 31 echo '<br />'; 32 echo $shaizi; 33 echo '<br />'; 34 switch ($shaizi) { 35 case 1: 36 case 2: 37 echo '你中了一百元。'; 38 break; 39 case 3: 40 case 4: 41 echo '你中了一千元。'; 42 break; 43 case 5: 44 case 6: 45 echo '你中了一万元。'; 46 break; } 47 ?>
1 <?php 2 $num1 = 1; 3 $num2 = 7; 4 $total = 47; 5 $total1 = 96; 6 if (num1 == 1 ) { 7 echo '111'; 8 } else if (num1 > 1) { 9 echo '222'; 10 } else if (num1 < 1) { 11 echo '333'; 12 } else { 13 echo '我是多余的。';} 14 if (num2 == 1) { 15 echo '111'; 16 } else if (num2 > 8) { 17 echo '222'; 18 } else if (num2 < 1) { 19 echo '333'; 20 } else { 21 echo '我是多余的。';} 22 if ($total < 60) { 23 echo '不及格'; 24 } else if ($total <= 70) { 25 echo '及格'; 26 } else if ($total <= 80) { 27 echo '良好'; 28 } else if ($total <= 90) { 29 echo '优秀'; 30 } else { echo'贼棒'; } 31 if ($total1 <60 ){ 32 echo '不及格'; 33 } else if ($total1 <= 70){ 34 echo '及格'; 35 } else if ($total1 <= 80) { 36 echo '良好'; 37 } else if ($total1 <= 90) { 38 echo '优秀'; 39 } else { echo '贼棒';} 40 ?>
11、循环:
for ($i = 0; i<5;$i++) { }
初始化条件
$i = 0;
while ($i < 5) {
$i++;}
初始化条件
$i = 0;
do {
$i++;
} while ($i<5);
break;
条件符合终止循环。
continue;
符合条件终止此循环,并且继续循环,直到循环条件不成立为止结束。
1 <?php 2 for ($i = 0;$1 < 5;$i++){ 3 echo $i.'<br />';} 4 echo '<br />'; 5 $a = 2 6 while ($a < 6){ 7 echo $a.'<br />'; 8 $a++;} 9 echo '<br />'; 10 $b = 5; 11 do { 12 echo $b.'<br />'; 13 $b++;} 14 while ($b < 10); 15 echo '<br />'; 16 for ($c=10;$c<18;$c++) { 17 if ($c == 15){ 18 break;} 19 echo $c.'<br />';} 20 echo '<br />'; 21 for ($d=20;$d<25;$d++) { 22 if ($d == 21) { 23 continue;} 24 echo $d.'<br />';} 25 26 ?>
双层循环:
1 <?php 2 echo '<table width="800" height="200" border="1">'; 3 for ($i=1;$i<=9;$i++) { 4 echo '<tr>'; 5 for ($j=1;$j<=$i;$j++) { 6 echo '<td>'.$i.'*'.$j.'='.$i*$j.'</td>';} 7 echo '</tr>';} 8 echo '</table>'; 9 ?>
99乘法表
下一篇: php递归法读取目录及文件的方法