PHP
基础语法规范:
1 <?php 开头 ?>结尾
2 php可以单独存在也可以和html等结合使用
3后缀名一般以.php结尾 php4,php5,php6,php7,phtml.
4 php的配置文件一般为php.ini
开发PHP的环境准备
1.phpstudy 8 版本,php的版本可以随意调整,代码是放在WEB服务器的根目录(document-root),默认首页一般是index.php/index.htm,php的扩展一般为XXX.dll()动态链接库文件。php_mysql.dll 是php的mysql扩展。
2.安装编辑工具:sublime text3 ,notepad++,vs code,phpstorm
sublime 安装之后需要配置编译环境。
echo 打印
phpinfo();php函数负责显示当前环境设置
定义变量:$变量名
以$符号开头 后跟变量名
变量名必须是以字母或者下划线开始
变量名中只能有字母,数字以及下划线,不能有空格,区分大小写。
如何判断数据类型:var_dump()
注释:
//单行注释
/* */多行注释
sublime 中添加注释:ctrl+shift+/ or ctrl+/
php打印方式:
echo/echo() 输出一个或者多个字符串,没有返回值。
print/print() 只能输出一个字符串,返回值是1。
echo的打印速度比print快,echo打印出来的字符串中可以有HTML代码。
php的数据类型
string 字符串 " " or ' ' 。
int 整数,是[0-9]之间的数字组合,整数里没有逗号和空格,也没小数;有正负之分,格式: 十进制,十六进制(0x开头[0-f]),八进制(0 开头[0-7])
float 带小数的数字或者指数形式3.1415 or 2.4e4 or 5e-10 or 5*10^-10
bool true和false
array 数组$array=array("icq",123,true);
null 表示变量没有值,可以使用null去清空数据。
$test="icq";$test=null;
object 对象,必须先声明,使用class关键词去声明对象,对象中可有属性,方式。如果要是用这个类,需要new,然后再去使用其中的属性或方式。
php常量
变量:用来存储信息的空间大小 $var
常量:定义之后不可更改,标识符,并且给其赋值,常量是全局变量,在整个页面中均可以使用,常量一般有英文字母,下划线,数字组成,开头不是数字和$
使用define(常量的key,常量的value)定义。define(number,2)
true/false:大小写问题,true->大小写不敏感,默认是true
define(str,"icq");
echo STR;//不能打印icq
define(str,"icq",true);
echo STR;//可以打印icq
条件判断:
if(条件){条件为真时执行的代码;}
if(条件){条件成立时执行的代码;}else{条件不成立时执行的代码}
if(条件){}else if{}elseif{}else{}
switch(){
case 1:
break;
case 2:
break;
default:
break;
}
for循环
for(;;){}
foreach()遍历数组
<?php
$array=array("one","two","three","four","five");
foreach($array as $value){
echo $value."\n\n";
}
?>
键值对型
<?php
$array=array("one"=>1,"two"=>2,"three"=>3,"four"=>true,"five"=>null);
foreach ($array as $key => $value) {
echo $key." is ".$value."\n";
}
?>
while循环
do while 循环
<?php
$i=1;
/*while ($i<=10){
echo "Number is:".$i."\n";
$i++;
}*/
do {
echo "Number is ".$i."\n";
$i++;
}
while($i<10)
?>
数组:在单个变量中存储多种类型的值,类型:数值型数组,关联型数组=键值对型数组,多维数组。
print_r();打印数组。
$array=array("1",123,1.24,true);
$array=array("k1"=>value1,"k2"=value2);
$array=array(array(1,2,3),array(3,4,5),array(6,7,8));
数字型数组的下标是从0开始,长度使用count()函数计算,遍历数组使用for/foreach();
关联型数组的下标是键,k1,k2,遍历数组使用for/foreach
数组的排序:
sort()升序
rsort()降序
asort()针对关联型数组的值,升序
ksort()针对关联型数组的键,升序
arsort()针对关联型数组的值,降序
krsort()针对关联型数组的键,降序
超级全局变量
$GLOBALS //包含全部全局变量的全局组合数组
$_SERVER //包含请求头中信息,用户的ip,用户UA,头信息。
$_REQUEST //包含用户提交的所有数据(POST/GET/COOKIE等)
$_POST //包含用户POST方式发过来的数据。
$_GET //包含用户GET方式发过来的数据。
$_FILES //包含用户发送过来的文件对应的数据
$_ENV //包含服务端环境变量的数据
$_COOKIE //包含COOKIE中的数据
$_SESSION //包含了session中的数据
cookie和session的比较;
1 cookie是存放在用户的浏览器中,是服务端通过返回包中set-cookie来设置,cookie表示用户的浏览器和服务器之间的会话状态,登录成功之后方可获取cookie数据,该数据一般情况下是具有时效性的,失效之后需要用户重新去登录。有了cookie数据之后用户的每次请求都会带上cookie,服务器端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略;
2session
有意义的常量(预定常量)
__LINE__ 行号
__FILE__ 当前路径的文件名
__DIR__当前文件的路径
__FUNCTION__当前定义的函数名
__CLASS__当前类名
PHP函数:有参 无参
调用函数时,函数名(),注意如果需要给参数,则需要在()中输入参数,个数要满足其要求
需要在函数中有返回值,需要使用return
PHP面向对象
C面向过程,C++ C# Java php python 等面向对象。
对象:对于某些事物的一种描述,代表整体上的一种概念,对现实世界的一种抽象,具有行为形态表示三种特性。
面向对象中常用的概念:
类:对于某些事物的一种抽象,它包含事物形态,行为等
对象:是类的实例,人类(亚洲人对象) 狗类(哈士奇)
成员变量:对象的属性特征,哈士奇:外形像狼
成员函数:对象的某种行为,哈士奇:拆家。
构造函数:主要用来创建对象时初始化对象,为成员变量赋初始值.也就意味着在new对象时用到该函数,该函数需要定义在类中:__construct(参数)
析构函数:
类的定义:
class className{
定义类的变量和函数
}
创建对象:new 对象,类的实例化,使用new
调用成员方法: ->
this 表示当前类,类中有变量和函数,要使用这些变量和函数,$this->变量名,$this->函数名.
表单处理:
服务器接收用户发过来的数据的方式:
$_GET 接受用户以GET方式发过来的数据
$_POST 接受用户以POST方式发过来的数据
$_COOKIE 接收用户的cookie
$_REQUEST 接收用户发过来的数据get或post
htmlspecialchars()实体化编码;结果不会被浏览器解析.