php学习之(一)基本特性
将这几天从菜鸟教程上学到的PHP先做一个简单总结:
1.php是一个弱类型脚本语言,
2.是一个在前端表现出色的语言(可能要问为啥了,因为他的输出语句直接输出各种表单框框呀,屌不屌= =,穿插各种参数哇,6不6,我是觉得这里勾引我了)。
今天总结的内容是PHP语言的一些基本特性,共计300行代码。
因为之前学的是JAVA所以大部分特性是很好理解的,
最后碰到了魔法变量__TRAIT__这里有点不容易理解,
查了一下这个变量是专门为了解决类继承方面问题,php实现多继承的。这个得好好看看。
所以先把前面的记到这里。
明天发关于TRAIT的理解和与MYSQL的连接及操作CRUD
<?php namespace MyProject; echo "开始啦"; echo "Hello world"; /* 多行注释 */ //单行注释 //变量a $a=1; //变量A a和A是两个变量,是区分大小写的 $A=11; $b=2; //可以直接输出html标签 达到换行的目的 echo "<br>"; //变量赋值 $c=$a+$b; //定义全局变量d $d=4; //函数 test() function test(){ //函数要用全局变量要加global关键字 global $d; //static关键字保证函数执行完成后变量值不被删除 static $e=5; echo $e; $e++; } echo "<br>"; test(); echo "<br>"; test(); echo "<br>"; test(); //给函数传参 function myTest($x){ echo "<br>$x"; } myTest(6); //有两种输出方式 echo与print echo "<br>aa","bb","cc"; print "<br>aaa"; //定义数组 $cars=array("www","ccc","aaa"); echo "<br>{$cars[1]}"; echo "<br>{$cars[2]}"; //EOF使用注意事项 /** * 1.结束语句必须独具一行,且前面不能有空白 * 2.开头和结束标记不在正文出现 */ $f="beijing"; echo <<<EOF <br><h>第一个标题</h1> <input type="text" value="输入框"></input> <br><input type="password" value="密码框"></input> <br>nihao;$f EOF; //var_dump函数可以输出括号内数据的类型及值 var_dump($a=-1.0); /*php有八种数据类型, 分别是:整形,浮点型,布尔型,数组,字符串,对象,空值 */ var_dump($a="aa"); var_dump($a=1); var_dump($a=0.1); var_dump($a=true); var_dump($a=array("aa","bb","cc")); class Test{ } var_dump($a=new Test()); var_dump($a=null); /* *1.定义常量用define函数 *2.define函数有三个参数 *3.分别是:常量名称,常量值,是否开启大小写敏感(默认敏感) *4.常量是全局的 * */ define("CHANGLIANG","常量1",true); echo CHANGLIANG; echo changliang; function testchangliang(){ echo changliang; } testchangliang(); //把两个字符串并置起来用并置运算符. $stringa="英雄联盟"; $stringb="绝地求生"; $stringc=$stringa."与".$stringb; echo $stringc; //用strlen()函数返回字符串的长度 echo strlen($stringc); //用strpos()函数返回字符串对应的位置 echo strpos($stringc,"与"); //php算数运算符加+减-乘*除/模% 取反-x 并置. $A=5; $B=2; $C=$A+$B; echo "<br>$C"; $C=$A-$B; echo "<br>$C"; $C=$A*$B; echo "<br>$C"; $C=$A/$B; echo "<br>$C"; $C=$A%$B; echo "<br>$C"; $C=-$B; echo "<br>$C"; $C=$A.$B; echo "<br>$C"; //php递增递减++-- $A=$A++; echo "<br>$A"; $A=$A--; echo "<br>$A"; $A=--$A; echo "<br>$A"; $A=++$A; echo "<br>$A"; //php比较运算符 == === != <> !== > < >= <= $A=1; $B=2; echo "<br>"; var_dump($A==$B); echo "<br>"; var_dump($A===$B); echo "<br>"; var_dump($A!=$B); echo "<br>"; var_dump($A!==$B); echo "<br>"; var_dump($A<>$B); echo "<br>"; var_dump($A<$B); echo "<br>"; var_dump($A>$B); echo "<br>"; var_dump($A<=$B); echo "<br>"; var_dump($A>=$B); /*php逻辑运算 与and 或or 非! 异或xor(只能有一个为true才返回true,两个true都不行) &&与 ||或 **/ $A=true; $B=true; var_dump($A or $B); echo "<br>"; var_dump($A and $B); echo "<br>"; var_dump($A xor $B); echo "<br>"; var_dump($A && $B); echo "<br>"; var_dump($A || $B); echo "<br>"; var_dump(!$A); echo "<br>"; /* *数组运算符 集合+ 相等== 恒等=== 不相等!= 不相等<> 不恒等!== */ $array1=array("aa","bb","cc"); $array2=array("aa","cc","bb"); echo "<br>"; var_dump($array1+$array2); echo "<br>"; var_dump($array1==$array2); echo "<br>"; var_dump($array1===$array2); echo "<br>"; var_dump($array1<>$array2); echo "<br>"; var_dump($array1!=$array2); echo "<br>"; var_dump($array1!==$array2); //三元运算符 如果?号前的结果为true则返回:前的值,否则返回:后的值 $sanyuan1=true; echo $sanyuan1?"ok":"no"; //一般用()来梳理逻辑运算,让代码更加直观 //phpSwitch语句 $A="123"; for ($index = 0; $index < 3; $index++) { switch($A){ case "123": $A="321"; echo "<br>$A"; break; case "321": $A="213"; echo "<br>$A"; break; default: $A="123"; echo "<br>$A"; }; } //php数组 $array=array("aa","bb","cc"); echo "<br>"; echo count($array); //遍历数组 for ($index = 0; $index < sizeof($array); $index++) { echo "<br>"; echo $array[$index]; } //关联数组 $array2=array("aa"=>"11","bb"=>"22","cc"=>"33"); //根据键获取值 echo $array2["aa"]; //遍历关联数组 as前是关联数组 as后是 键=>值 foreach($array2 as $x=>$x_value){ echo "<br>"; echo $x." ".$x_value; }; //数组排序 echo "<br>数组排序"; sort($array); rsort($array); for ($index = 0; $index < sizeof($array); $index++) { echo "<br>"; echo $array[$index]; } echo "<br>关联数组升序排序"; asort($array2); ksort($array2); arsort($array2); krsort($array2); foreach($array2 as $x=>$x_value){ echo "<br>"; echo $x." ".$x_value; } //php超级全局变量$GLO 也就是说定义之后可以在任何地方用 $x=75; $y=25; function test3(){ $GLOBALS["z"]=$GLOBALS["x"]+$GLOBALS["y"]; } test3(); echo "<br>$z"; //超级全局变量$SERVER //获取当前页面在项目中的路径的文件名 echo $_SERVER["PHP_SELF"]; //获取服务器IP地址 echo $_SERVER["SERVER_ADDR"]; //超级全局变量$REQUEST //获取表单请求提交的用户名fname数据 $name=$_REQUEST["fname"]; echo $name; //超级全局变量$POST //获取表单是POST请求提交的用户名fname数据 $name=$_POST["fname"]; echo $name; //超级全局变量$GET //获取表单是GET请求提交的用户名fname数据 $name=$_GET["fname"]; echo $name; //条件if else, if else if else $F=true; if($F){ echo "ok"; }else if(!$F){ echo "no"; }else{ echo "hehe"; } //循环 while do...while for foreach $inta=5; //while while($inta>=1){ echo "<br>第".$inta."次"; $inta--; } //do...while do{ echo "<br>第".$inta."次"; $inta--; }while($inta>=1); //for $array1=array("aa","bb","cc"); for ($index = 0; $index < sizeof($array); $index++) { echo "<br>"; echo $array1[$index]; } //foreach foreach($array1 as $a1){ echo "<br>$a1"; } //魔术变量__LINE__(前后双下滑线记得带上。。) echo "第"".__LINE__.""行"; echo "这是第 " " . __LINE__ . " " 行"; //魔术变量__FILE__ echo "该文件位于"".__FILE__.""目录下"; $F=__FILE__; echo "<br>$F"; //魔术变量__DIR__ echo ""当前文件的目录是:"".__DIR__."<br>"; //魔术变量__FUNCTION__ function test1(){ echo ""当前函数的名称为"".__FUNCTION__."<br>"; } test1(); class Test3{ function test4(){ echo ""函数名为"".__FUNCTION__."<br>"; echo ""类名为"".__CLASS__."<br>"; } } $t=new Test3(); //类方法的调用对象名->方法名 $t->test4(); //魔法变量__METHOD__ function test5(){ echo ""方法名为"".__METHOD__.""; } test5(); //魔法变量__NAMESPACE__ echo "命名空间为".__NAMESPACE__.""; ?>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: ORACLE用GROUP BY 来分组日期字段 按月分组
- 下一篇: MySQL按时间分组求和