LAMP兄弟连原创视频教程(PHP笔记一--变量,流程控制结构,函数)

来源:互联网 发布:大数据测试工程师招聘 编辑:程序博客网 时间:2024/05/27 02:31

近来本人学习PHP,首先感谢LAMP兄弟连提供的PHP视频教程,以下是我学习所做的笔记,希望对想学PHP的初学者有用!(如果有错误,请大家指出!)

 

1.PHP简介与环境的安装(请大家观看LAMP兄弟连的视频)

 

2.1 PHP变量
四种标量类型:整型(int,integer),浮点型(float,double,real),字符串(string),布尔型(bool,boolean)
两种复合型:数组(array),对象(object)
两种特殊类型:资源,null
举例:获取变量类型:echo getType($a);
                    var_dump($a);
常量:
1。常量只能包含标量数据
2。只能在声明的时候赋值,并不能在运行在改变
3。常量前面不用$符号
4。不受变量的有效范围限制
举例:define("NAME","高洛峰");
     检查常量是否存在: defined("NAME")
     检查变量是否存在:isset()
系统的定义常量    
echo _FILE_显示当前的文件
      echo _LINE_显示当前的行号

2.1 变量之间数据类型转换
数据类型的强制转换:
PHP中的“+”只在算术运算,不做字符串的连接
举例:类型转换:$a="100abc";
  $b=(int) $a;
  //上面的那一行与下面一下都能进行类型转换
  //$b=intval($a);
                var_dump($b);
      设置变量类型:setType($a,"integer");

2.2 PHP外部变量与环境变量
外部变量:
  获取表单的数据:echo $_GET["username "]
         $_POST["username"]
         $_REQUEST["username"]
        检查输出数组:print_r($_POST)
注意链接传的送的数据只能用get,request接收,无论是表单还是链接都可以在接收页面直接用变量名访问
此外还有$_FILES $_COKKIE $_SESSION
环境变量
$_SERVER
举例:获取环境变量的相关内容:
      echo $_SERVER["REMOTE_ADDR"];
$_ENV
 获取所有的环境变量:phpinfo();

2.3PHP运算符应用
算术运算符 + - * / % ++ --
%常用的作用:用于取得小于除数的整数
注意:++,--与赋值符号(=)在一起时,放在变量前面与后面的不同
 $a=10;
 $b=$a++; //$b=10 $a=11
 $c=$b--; //$c=10 $b=9
 $d=--$c; //$d=9 $c=9
 $e=++$d; //$e=10 $d=10
 $f=$e-- - --$e; //$e=8 $f=2
 $g=$f++ + ++$f; //$g=6 $f=4

比较运算符 == === != <> !== < ><= >= ? :
 "100"==100 true(php会把字符串转换为整型)
 "100"===100 false
注意:不要在if条件中把==写成=,这在php会当成真
逻辑运算符 && || ! and or xor
举例
myslq_connect("localhost","root","") or die("数据库连接失败")
位运算符 & | ^ ~ << >> >>>
注意:位运算符也可以当逻辑运算符用,但逻辑运算符有短路的问题
赋值运算符 += -= *= /= %=
其他运算符 . .=
.为字符串连接符号
$b=100;
$a="this is a demo".$b."<br>";
关于优先级的问题可以用“()”解决

3.1 流程控制之分支结构
分支结构有:if... else...
     switch...case...default...
     try...catch...
3.2 流程控制之循环结构
while(){ }
do{
}while();
for( ; ;){}
注意:if()与break结合可以退出循环
 continue能退出本次循环,要注意continue有可能出现死循环
 break,continue后面能加数字,例break 2;//表示退出本次两层循环
4.1 函数的声明与应用
function 函数名(参数1,参数2,...){
 函数体
 return 返回值 //在return后面的语句永远不会被执行,函数只能返回一个变量值
}
函数应该包含三方面内容:
1.函数的作用
2.函数有几个参数,每个参数是什么类型的
3.函数执行后返回什么样的结果

函数内部访问全局变量
<?php
 $a=100;
 function fun1(){
  global $a;//访问外部变量,也可以用$GLOBALS["a"]
  echo $a;
 }
 fun1();
?>
   
静态变量
function test(){
 static $a=0;
 echo $a."<br>";
 $a++;
}
注意:在函数声明的前面,后面都可以调用,函数名是不区分大小写的,调用函数时实参的个数多于或者少于函数声

明中形参是允许的,少于形参个数时可以在调用时加上@,屏蔽警告,默认参数放在函数参数中的最后面

检测函数是否存在 echo function_exists("test1");//用于不同版本的检测

在函数内部使用func_get_args()能获取调用函数时传入的参数,count($args)能取得数组的长度

变量函数(有点像JAVA,C++的多态的效果)
function test(){
 echo "test";
}
function demo($a){
 echo "demo".$a;
}
$a=test;
$a();
$a=demo;
$a("123");
不能使用系统定义函数作为变量函数

递归函数的常用作用

阶乘:
function demo($a){
 if($a >1){
  $r=$a*demo($a-1);
 }else{
  $r=$a;
 }
 return $r;
}
echo demo(4);

内部函数:在函数内部再声明一个函数
function demo(){
 function fun1{
  echo "fun1...";
 }
}
demo();//调用了这个函数才能调用fun1()
fun1();
上面的内部函数可以等价下面函数
function demo(){
 fun1();
}
function fun1(){
 echo "fun1..";
}
demo();

在不同的页面引用其他页面的函数
<?php
 //include("demo.php");//可以包含多次,只包含一次include_once("demo.php"),出错显示警告
 //require("demo.php");//require_once("demo.php"),出错显示错误
 //include "demo.php";
 require "demo.php";
 fun1();
 fun2();
?>
注意:不要重复包含多次函数