1.<?php //加+ 减- 乘* 除/ 取余% 加加:++ 渐渐:-- $a=1; $b=2; echo $a+$b,'<br/>'; $c=10; echo $c%3,'<br/>';//++$a $a++ echo ++$c,'<br/>'; //字符串运算符:以.的形式连接。如:变量.变量 $s='1'; $d='2'; echo $s.$d,'<br/>'; //赋值运算符:=+>$a=1 $a+=1>$a=$a+1 // =- //=* //=/ //=% //.=>$a.='q' $a.='w' echo $a; 2.<?php //类型转化:1.隐式转化(自动转化)2.显示转化(强制转化) //隐式转化:(1)其他类型转化成数值类型 $a=true+1; // true=1 $a=true+1; =2 echo $a,'<br/>'; $b=false+1; //false=0 $b=false+1; =1 echo $b,'<br/>'; $c=null+1; //null=0 $b=null+1; =1 echo $c,'<br/>'; $str=1+'dsfsd'; echo $str,'<br/>';//开头是字母的直接转化为0 $a=1+'a'; =1 $str=1+'333dsfsd'; echo $str,'<br/>'; $str=1+'333d2s6f5s4d'; echo $str,'<br/>';//开头如果是以数据开头的把数字截取到第一个非法数字结束 $a1+'12a'; =13 //其他类型转化成字符串类型 echo 'cfgdf',null,'dgfdag';// null=空字符串 echo 'a',null,'b'; //ture=1 echo ture echo true,'<br/>'; //false=空字符串 echp false echo 'cfgdf,false,dgfdag \'<br/>\''; //数组转化成字符串的arry$arr=array(); $arr=array(); echo $arr,'<br/>'; $handle=fopen('text_2.php','r'); echo $handle,'<br/>'; //对象目直$sobject=new stdClass(); //其他类型转化成布尔类型(找到flase) //if(){} //0=flase //0.0=flase //空字符串“或者”"或者"0=flase //null=flase //空数组=false /* * if(如果这里为真){ *就会执行这里代码 * } * else{ * 如果为假就执行这里的代码? * } */ $sum=0; if($sum){ echo 'sjfj','<br/>'; } else{ echo 'dfhgdfh','<br/>'; } $a=true+1.2; echo $a,'<br/>'; echo var_dump($a),'<br/>'; //强制转化 //(int)=整形 //(float)=浮点型 //(boolean)=布尔类型 // string=字符串类型 //(array)=数组 //(object)=对象 //不能转化资源 $a=123; echo var_dump((string)$a),'<br/>'; echo var_dump((boolean)$a),'<br/>'; echo var_dump((array)$a),'<br/>'; echo var_dump((object)$a),'<br/>'; //通过函数的形式实现临时转换 //intval(变量)=转化成整形 //strval(变量)=转化成字符串型 //boolval(变量)=转化成布尔类型 echo var_dump(strval($a)),'<br/>'; echo var_dump(boolval($a)),'<br/>'; //永久转换 //stetype(变量,要设置的类型)设置变量类型 //gettype(变量)得到变量的类型 //echo gettype($a),'<br/>'; settype($a,'string'); echo var_dump($a),'<br/>'; //变量函数库检测变量类型 //is_int(变量)=检测整型 //is_string(变量)=检测字符串类型 //is_array(变量)=检测数组类型 //is_resource(变量)=检测资源类型 //is_object(变量)=检测对象类型 //is_null(变量)=检测null类型 //以后会用到 //is_numeric(变量)=检测数值型 $b=123; echo is_int($b),'<br/>'; echo var_dump(is_int($b)),'<br/>'; 3.<?php //整型的取值范围:带符号:-21亿~21亿,不带符号:0~42亿 $a=5; //echo $a; //一个用于打印我们的数据类型的函数 echo var_dump($a),'<br/>'; $b=23.60; echo var_dump($b),'<br/>'; //布尔类型Boolean:只有两种类型ture(真)和false(假) $c=true; $d=false; echo var_dump($c),'<br/>'; echo var_dump($d),'<br/>'; $name='我爱你'; echo var_dump($name),'<br/>'; $nam="你好看"; echo var_dump($nam),'<br/>'; $shuzu=array(); //array()数组 echo var_dump($shuzu),'<br/>'; //对象 object //$变量名=new stdclass(); $obj=new stdClass(); echo var_dump($obj),'<br/>'; //资源resource //$变量名=fopen(‘test_2.php’,'r');//'r':可读 $res=fopen('text_2.php','r'); echo var_dump($res),'<br/>'; //空(null|NULL) //未声明变量值为null,声明变量并且赋值null, $df=null; echo var_dump($df),'<br/>'; //cho $x; //通过nuset函数 $QWE=123; unset($QWE); echo var_dump($QWE),'<br/>'; $name='hgdh\'ggggg\''; echo var_dump('$name'),'<br/>'; echo var_dump("$name"),'<br/>'; //单引号和双引号的区别: //双引号解析变量,单引号解析变量 //单引号的执行效率快 //双引号解析所有的转移符,单引号只解析\'和\\这两个转义符//单引号和双引号统称为界定符 /*定界符采用两个相同的标识符来定义字符串,使用该方式定义字符串时要特别注意开始和结束符必须相同,另外必须要遵守以下规则: 开始标识符前面要有3个尖括号<<<; 结束标识符必须单独另起一行,并且在该行第一列,前面不能有任何空格或其他多余字符; 标识符的命名也要像其他标签一样遵守PHP规则,只能包含字母、数字和下划线,并且必须以字母和下划线开头。 */ $name='hgdhg gggg'; echo var_dump("$name"),'<br/>'; $namez='hgd\nhggggg'; echo var_dump("$namez"),'<br/>'; $namez="hgd\nhggggg"; echo var_dump("$namez"),'<br/>'; //\'=' //\"=" // \\=\ //\$=$ //\n=换行 //\r=回车 //\t=水平制表符 //\v=垂直制表符 //\f=走纸 4.<?php //逻辑运算符:&&和and(与) ||和or(或) !(非)xor(异或) //1.&&和and(与) //$a=2==2&&32; $a=(-5)%3; echo $a; echo '<hr/>'; var_dump((float)false); 5.<?php //什么是常量? //变量和长量相反,在脚本执行期间该量不能被改变 //系统常量 //PHP_VERSION:得到PHP版本 //PHP_OS:得到服务器的操作系统 //M_PI:PI的值 echo PHP_VERSION; echo'<hr/>';//'<hr/>'输出XIAHUA线 echo PHP_OS; echo'<hr/>'; echo M_PI; //自定义产量 //注意事项 /* * 常量名称前没有$符号 * 开头用字母或者下滑线,尽量使用大写字母 * 常量定义出来,不能改变也不能取消定义 * 常量的值为变量(比如整形、浮点型、字符串型)可以用资源但不推荐 * 常量默认区分大小写如果要不区分需要设置define函数的第三个参数为true,define(’名称‘,’具体的值‘,true); */ echo'<hr/>'; define('GFDD','FGGHFHH');//第一个参数为常量名称,第二参数为常量的值 echo GFDD; echo'<hr/>'; const ZXV='HGHGHG'; //常量 const //在类里面定义常量用 const 关键字,而不是通常的 define() 函数。 echo ZXV;//通过const变量名=值; 直接打赢常量或通过constant函数得到常量的值 echo'<hr/>'; //echo constant('gmm'); //检测常量是否被定义defined函数 var_dump(defined(变量)); //echo'<hr/>'; //var_dump(defined('gmm')); //__LINE__:得到行号 echo __LINE__; echo'<hr/>'; //__FILE__:文件的完整路径和文件名 echo __FILE__; echo'<hr/>'; //__FUNCTION__:函数名称//函数会讲 //__CLASS__:类的名称//类时会讲 //__METHOD__:类的方法//类时会讲 //__DIR__:返回文件所在目录,如果用在被包含的文件中返回的是被包含的文件 echo __DIR__; echo'<hr/>'; 6.<?php echo '12已经3'; /* $a=10; echo $a; $a=10; $b=$a; echo $b,'<br/>'; //'<br/>':换行 $b=15; echo $a,'<br/>'; echo $b,'<br/>'; $a=10; $b=&$a; echo$b,'<br/>'; $b=15; echo$a,'<br/>'; //&;取地址符 $a=10; $b=&$a; 改变其中一个值另外一个也会改变 echo$b,'<br/>'; unset($a,$b);//函数用于销毁给定的变量 echo$b,'<br/>'; ?> */ 7.<?php //比较运算符 < > >= <= != == 恒等于 ===全部等于 !==全不等于 //逻辑运算符&& || $a = 2; $b = 1; echo var_dump($a>$b),'<br/>'; echo var_dump($a<$b),'<br/>'; echo var_dump($a<=$b),'<br/>'; echo var_dump($a>=$b),'<br/>'; //== != === // =赋值 ==比较两个书的大小是否相等 echo '<hr/>'; echo var_dump($a==$b),'<br/>'; //!3 不等于3 echo var_dump($a!=$b),'<br/>'; echo var_dump($a===$b),'<br/>'; //全等于的特点是,不止较值是否相等还要比较类型是否相等 //strpos:查找字符串首次出现的位置 $str='1abcrfeger'; $aa='1'; $is=strpos($str,$aa); echo var_dump($is),'<br/>'; if(strpos($str,$aa)!==false){ echo 'true'; }else{ echo 'false'; } echo '<hr/>'; //&&并且 ||或者 $str1=3; $str2=3; if($str1==3&&$str2==5){ echo "ture"; }else{ echo "ture"; } echo '<hr/>'; if($str1==3||$str2==5){ echo "ture"; }else{ echo "ture"; } echo '<hr/>';、 8.<?php //{}把变量扩起来要PHP解析器这是一个PHP变量,为了避免产生歧义 //HTML中嵌入PHP代码会自动注释掉 // 可变变量: 一个变量的变量名可以动态的设置和使用 $a="hello"; $$a="word"; //相当于$hello,${$a} //把一个变量的名作为另一变量的值 //echo'<hr color ="green"/>';//输出绿色的线 //布尔类型不支持自增自减运算符 // null只支持自增,不支持自减 // 字符串只支持自增,不支持自减 //<html> <head>等表示HTML代码 //由于PHP是嵌入在HTML中,因此需要标记对来区分,通常问情况可以用1.<?php /?/> <%%><script language=php> ……</script> //定界符采用两个相同的标识符来定义字符串,使用该方式定义字符串时要特别注意开始和结束符必须相同,另外必须要遵守以下规则: //开始标识符前面要有3个尖括号<<<; //结束标识符必须单独另起一行,并且在该行第一列,前面不能有任何空格或其他多余字符; //标识符的命名也要像其他标签一样遵守PHP规则,只能包含字母、数字和下划线,并且必须以字母和下划线开头。 //外部变脸:负责接收外部传输的数据变量 //$_GET[]: //接受get的方法传输的数据,地址栏传输 //不安全传输数据小 //$_POST[]: //接收post方法传输的数据 //比较安全,数据量大,理论上没有限制 //但实际上我们自己要进行限制,修改拍php.ini文件 //$_REQUEST[]: //就收get的方法传输的而数据,也可以接收post方法传输的数据 //效率不如单独的post/get //设置类型settype(),作用于原变量,会直接改变原变量的数据类型 //使用转换函数,不会改变原变量的数据类型 //字符串运算符对非字符串进行拼接,得到的数据类型是字符串类型 //逻辑运算符使用英文单词时,前后必须要有控股或者用()连接起来 //逻辑运算符使用单词时,运算的优先级低于赋值运算符 //xor异或有一个为正其只有一个为正才为真 echo $a; echo '<hr/>'; echo "$hello"; echo '<hr/>'; echo $_REQUEST["uname"]; echo "<hr/>"; echo $$a; echo '<hr/>'; echo $_GET["uname"]; echo '<hr/>'; echo $_POST["age"]; echo '<hr/>'; $heredoc_str=<<<RD gfdgshbfdt RD; echo $heredoc_str; echo'<hr color ="red"/>'; //$b=settype($a,'string'); 得到的是bool值 //$b=settype($a,'string');//直接改变原变量的数据类型 $a=123; $b=floatval($a); $b=settype($a,'float'); echo var_dump($a); echo '<hr/>'; echo var_dump($b); echo'<hr/>'; $f='12'; $x='3'; $u=$f.$x*$f; $r=$x.$x+$f; echo var_dump($u),'<br/>'; echo var_dump($r),'<br/>'; //echo $f.$x; 9.<?php //通过``实现我们外壳代码 echo `ipconfig`; echo "<hr/>"; echo shell_exec(`ipconfig`); echo "<hr/>"; $var=1; @settype($var,“clive”); //我们的错误抑制符 echo "<hr/>"; echo @(3/0); echo "<hr/>"; if(3>2){ echo 'ture' ; }else{ echo 'false'; } echo "<hr/>"; //三元运算符 echo 3<2 ?'ture':'false';