近来本人学习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."
";
关于优先级的问题可以用“()”解决
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.函数执行后返回什么样的结果
函数内部访问全局变量
$a=100;
function fun1(){
global $a;//访问外部变量,也可以用$GLOBALS["a"]
echo $a;
}
fun1();
?>
静态变量
function test(){
static $a=0;
echo $a."
";
$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();
在不同的页面引用其他页面的函数
//include("demo.php");//可以包含多次,只包含一次include_once("demo.php"),出错显示警告
//require("demo.php");//require_once("demo.php"),出错显示错误
//include "demo.php";
require "demo.php";
fun1();
fun2();
?>
注意:不要重复包含多次函数