三星s8数字密码忘记怎么找回 三星手机锁屏密码忘记了怎么找回
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
属于php的标记
处理脚本让浏览器按照指定字符集解析的方法 header(‘Content-type:text/html;charset=utf-8’)
ASP标记:<% php代码 %> 短标记: php代码 ?> 脚本标记: 标准标记(常用):
行注释:一次注释一行 //或# 块注释:一次注释多行
语句分隔符:在php中,代码是以行为单位,系统需要通过判断行的结束, 该结束通常都是一个符号:分号 (;) (英文分号)
特殊说明: 1、php中标记结束符?>有自带语句结束的效果 2、php中其实有很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中就 不建议使用标记结束符?>,php会自动从开始到最后都是php代码
php中所有变量都必须用$ 定义:在系统中增加对应的变量名字 赋值:可以将数据赋值给变量名(可以在定义的同时赋值) 可以通过变量名访问数据 可以将变量删除unset()
php中所有变量都必须用$开始 名字由字母、数字和下划线"_"构成,但是不能以数字开头
提前定义的变量,系统定义的变量,储存许多需要用到的数据(预定义变量都是数组)
$_GET;获取所有表单以GET方式提交的数据 $_POST;POST提交的数据 $_REQUEST;GET和POST提交的数据 $GLOBALS;PHP中所有全局变量 $_SERVER;服务器信息 $_【【微信】】;session会话数据 $_COOKIE;cookie会话数据 $_ENV;环境信息 $_FILES;用户上传的文件信息
如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到 另外一个变量的值,在变量前面再多加一个$符号
$a=‘b’; $b=‘bb’; $a;(a;(a;(b)
将一个变量赋值给另外一个变量
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量(两个变量没有关系) 引用传递:将变量保存的值所在的内存地址,传递给另外一个变量,两个变量指向 同一块内存空间(两个变量是同一个值)
在内存中,通常有以下几个分区 栈区:程序可以操作的内存部分(不存数据,运行程序代码) 代码段:存储程序的内存部分(不执行 ) 数据段:存储普通数据(全局区和静态区) 堆区:存储复杂数据,大但是效率低
用来保存数据
常量:const/constant 常量一旦定义,通常数据不可改变(用户级别)
1、使用定义常量的函数: define(‘常量名’,常量值); 2、const 常量名=值;
1、常量不需要使用$,一旦使用系统就会认为是变量 2、常量的名字组成由字母 、数字和下划线组成,不能以数字开头 3、常量一般是大写字母 4、常量命名规则比变量更松散,可以使用特殊字符(只能用于define)
注意细节: 1、define和const定义的常量是有区别的,在于访问权限的区别 2、定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数
与变量使用相同,但不可改变值 有的时候还需要另外一种形式来访问(针对的是特殊名字的常量) 需要用到另外一个访问常量的函数:echo constant(‘常量名’);
说明 1、凡是数据会可能变化的,那么肯定是用变量 2、数据不一定会变的,两者都可,一般用变量 3、数据不允许被修改的一定用常量
系统帮助用户定义的常量,用户可以直接使用
常用的系统常量 PHP_【【微信】】: PHP版本号 PHP_INT_SIZE: 整形大小 PHP_INT_MAX: 整形能表示的最大值(PHP整形允许出现负数,带符号)
在PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束 这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化, 但是用户改变不了 DIR:当前被执行的脚本所在电脑的绝对路劲 FILE:当前被执行的脚本所在的电脑的绝对路劲(带自己文件的名字) LINE:当前所属的行数 NAMESPACE:当前所属的命名空间 CLASS:当前所属的类 METHOD:当前的方法
数据类型:data type,在PHP中指的是储存的数据本身的类型,而不是变量的类型 PHP是一种弱类型语言,变量本身没有数据类型
PHP的八种数据类型
简单(基本)数据类型(4个小类) 整型:int/integer,系统分配4个字节储存 浮点型:float/double,系统分配8个字节存储,表示小数或者整型存不下的整数 字符串型:string,系统根据实际长度分配,表示字符串(引号) 布尔类型:bool/boolean,表示布尔类型,只有两个值:true和false
复合数据类型(2个小类) 对象类型:object 存放对象(面向对象) 数组类型: array存储多个数据(一次性)
特殊数据类型 资源类型:resource 存放资源数据(PHP外部数据,如数据库、文件) 空类型: NULL 只有一个值就是NUUL(不能运算)
类型转换 在很多的条件下,需要指定的数据类型,需要外部数据(当前PHP取得的数据) 转换成目标数据类型
在PHP中有两种类型转换方式 1、自动转换:系统根据需求自己判定,自己转换(用的比较多,效率偏低) 2、强制(手动)转换:人为根据需要的目标类型转换 强制转换规则:在变量之前增加一个(),里面写上转换的类型,其中NULL类型用到 unset()
在转换过程中,用的比较多的是BOOL类型(判断)和数据类型(算术运算)
C>BOOL true或false,在PHP中比较少类型转换变成False
C>数值 1、BOOL true=1,false=0 2、字符串转数值: 2.1以字母开头,永远为0 2.2以数字开头,取到碰到字符串中为止(不会同时包含两个小数点)
通过一组类型判断函数,来判断变量,最终返回变量所保存数据类型(相同返回TRUE,不同返回FALSE), 是一组以is_开头后面跟类型名字的函数:is_xxx(函数名) Bool类型不能用echo来查看,可以使用var_dump结构查看――var_dump(变量1,变量2……) 还有一组函数可以用来获取以及设定数据(变量)的类型 gettype(变量名):获取类型,得到的是该类型对应的字符串 settype(变量名,类型):设定数据类型;与强制转换不同 1、强制转换变量名,是对数据复制的内容进行处理(不会改变实际存储的内容) 2、settype会直接改变数据本身
保存整数数值(有一定范围限制),4个字节,最大32位 在PHP中默认是有符号类型(区分正负数) 在PHP中提供了四种类型的定义:十进制,二进制,八进制,十六进制 $a=120; //10进制 $a=0b110; //2进制 $a=0120; //8进制 $a=0x120; //16进制
decbin(); //10―>2 decoct(); //10―>8 dechex(); //10―>16 bindec(); //2―>10 bin2hex(); //2―>16
小数类型,超过整型所能存储范围的整数(不保证精度),精度大概在15个有效数字 $f=1.23; $1.23e10; //科学技术法,其中e表示底为10即1.23*(10^10) 不要用浮点数做精确判断
两个值true和false,通常用于比较 在进行某些数据判断时候,需要特别注意类型转换 empty();判断数据的值是否为"空",不是NULL,如果为空返回true,不为空返回false isset();判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false
1 . 将两个字符串连接到一起 2 .= 将左边的内容与右边的内容连接起来,然后重新赋值给左值
一些无法避免且提前预知的错误,但不希望报错给用户 @ 在可能出错的表达式前使用@
表达式1 ? 表达式2:表达式3; 表达式1成立,执行表达式2,否则执行表达式3 建议使用括号
++ //在原来值上加一 C //在原来的值上减一
前置自操作:同C语言 后置自操作:同C语言
+= //左边的加上右边的,再赋值给左边的 -= //左边的减去右边的,再赋值给左边的 *= //左边的乘上右边的,再赋值给左边的 /= //左边的除以右边的,再赋值给左边的 %= //左边的求余右边的,再赋值给左边的
计算机码:计算机在实际储存数据的时候,采用的编码规则 计算机码:数值左边第一位用来充当符号位,正数为0,负数为1 原码:数据本身从十进制转到二进制的结果 反码:针对负数,符号位不变,其它位取反 补码:针对负数,反码+1
1、系统进行任何位运算的时候都是补码 2、运算结束后都必须要转换成原码才是最终显示的数据
- &:按位与,两个位为1,才为1
- |:按位或,两个位为0,才为0
- ~:按位非,两个为0,才为1
- ^:按位异或,两个相同,为0
- <<:按位左移,整个位(32位),向左移1位,右边补0
- (>>):按位右移,整个位(32位),向右移1位,左边补符号位对应内容
控制分类 顺序结构:代码从上往下,顺序执行 分支结构:给定一个条件,同时有多种可执行代码,然后会根据条件执行某一段代码 循环结构:在某个条件控制范围内,指定的代码可以重复执行
if分支 if:给定一个条件,同时为该条件设置多种(两种)情况,然后通过条件判断来实现具体的执行段
基本语法
最简if:
基础if:
复杂if:
如果判断条件不一致,建议使用嵌套
switch分支 有一组情形存在,通过一个条件,通常有多个值,但是每一个值都会有 不同的代码执行
switch判断方式:是将条件放在分支结构内判断
循环结构(for,while,do-while,foreach(专门针对数组))
for循环
while循环
条件初始化
do-while循环
在循环内部对循环本身进行控制
中断控制:continue;
终止控制:break;
PHP本身是嵌入到HTML中的脚本语言,需要在HTML中书写一些关于判断或者循环的结构语法,必须符合PHP标签规范,需要HTML 与PHP进行混搭,如果使用原始的PHP代码那么会非常不美观
在PHP书写到HTML中的这些大括号不美观,所以PHP提供了一种替代机制,让其可以不用书写大括号 for(; ;){ ----> for( ; ; ): } ----> endfor;
PHP中的替代语法 PHP在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此PHP提供了对应分支结构和 循环结构的替代语法,全部都是对应的一个模式 { ----> : } ----> end+对应的起始标记替代
在一个PHP脚本中,去将另一个PHP文件包含进来,去合作完成一件事情
文件包含作用 1.要么使用被包含文件中的内容,实现代码的共享(重用),向上包含(索要) 向上包含:在当前脚本要用某个代码之前包含别的文件
2.要么自己有东西可以给别人用,实现代码的共享(重用),向下包含(给予) 向下包含:在自己有某个东西的时候,需要别的脚本来实现(自己代码写完之后包含其他文件)
最大的作用:分工协作
文件包含四种形式 include: 包含文件 include_once: 系统会自动判断文件包含过程中,是否已经包含过 require: 与include相同 re【【微信】】: 与include_once相同
包含基本语法 include ‘文件名’; include (‘文件名’); //文件名字:路径
向上包含:是先包含文件,后使用文件中的内容 向下包含: 是先准备内容,然后包含另外的文件,在另外的文件中,使用当前的内容
PHP代码的执行流程 1、读取代码文件(PHP程序) 2、编译:将PHP代码转换成字节码(生成opcode) 3、zendengine来解析opcode,按照字节码进行逻辑运算 4、转换成对应得HTML程序
1、在文件加载(include或者require)的时候,系统会自动的将被包含文件中的代码相当于嵌入到当前文件中 2、加载位置:在哪加载,对应的文件中的代码嵌入的位置就是对应的include位置 3、在PHP中被包含的文件是单独编译的
include和include_once的区别 include:系统会碰到一次,执行一次,如果对同一个文件进行多次加载,那么系统会执行多次 include_once:系统碰到多次,也只会执行一次
require和include的区别 本质都是包含文件,唯一的区别在于包含不到文件的时候,报错的形式不一样 include的错误级别较轻,不会影响后面代码执行 require的错误级别大,会影响后面的代码执行
文件在加载时需要指定文件路径才能保证PHP正确的找到对应的文件
文件加载路径包含两大类 1、绝对路径: 从磁盘的根目录开始(本地绝对路径) Windows:盘符 C:/路径/PHP文件 Linux:/路径/PHP文件 从网站的根目录开始(网站绝对路径) /: 相对于网站主机名字的路径 localhost/index.php 2、相对路径:从当前文件所在目录开始的路径 . 或 http://www.taodudu.cc/news/ : 当前文件夹 …/ : 当前文件夹的上一层文件夹
两个区别 1、绝对路径相对效率偏低,但是相对安全(路径不会出问题) 2、相对路径相对效率偏高,但是容易出错(相对路径会发生改变)
一个文件包含另外一个文件,同时被包含的文件又包含了另外一个文件
嵌套包含的时候容易出现相对路径出错的问题,相对路径会因为文件的包含而改变(http://www.taodudu.cc/news/和…/) windows下面,每一个文件夹下都有.和…的文件夹
将实现某一个功能的代码块(多行代码)封装到一个结构中。从而实现代码的重用
定义语法 函数有几个对应的关键点:function关键字、函数名、参数(形参和实参)、函数体和返回值
基本语法如下 function 函数名(参数) { //函数体 //返回值:return 结果 }
定义函数的目的:是为了实现代码的重用,一个功能一个函数简单明了)
函数的使用:通过访问函数的名字+(); //如果函数在定义的时候有参数,则在调用时必须使用参数
函数是在代码执行阶段,碰到函数名字才会调用
函数调用特点:函数的调用可以在函数定义之前
由字母、数字、下划线组成,不能以数字开头 命名一般规则 1、驼峰法:除了第一个单词外,后面的所有单词的首字母均大写 2、下划线法:单词小写,通过下划线连接
在一个脚本周期中,不允许出现同名函数(在一个系统开发中不会使用同名的函数)
1.为了统计当前函数被调用的次数 2.为了统筹函数多次调用得到的不同结果
当前有一个变量所保存的值,刚好是一个函数的名字,那么就可以使用变量+()来充当函数名使用 $a=‘display’; function display() { } //可变函数 $a();
没有名字的函数 基本语法: $a = function() { 函数体; }; 变量保存匿名函数,本质得到的是一个对象
闭包:closure,一词来源于一下两者的结合,要执行的代码块(由于自由变量被包含在代码块中, 这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)
伪类型:假类型,实际上在PHP中不存在的类型。但是通过伪类型可以帮助程序员去更好的查看 操作手册从而更方便学习
伪类型主要有两种 mixed:混合的,可以是多种PHP中的类型 number:数值的,可以是任意数值类型
1)有关输出的函数 print():类似于echo输出提供的内容,本质是一种结构(不是函数),返回1,可以不需要使用括号 【【微信】】():类似于var_dump,但是比var_dump简单,不会输出数据的类型, 只会输出值(数组打印使用比较多)
2)有关时间的函数 date():按照指定格式对对应的时间戳(从1970年格林威治时间开始计算的秒数) time():获取当前时间对应的时间戳 microtime():当前时间戳微秒数 strtotime():按照规定格式的字符串转换成时间戳
3)有关数学的函数 max():指定参数中最大的值 min():指定参数中最小的值 rand():得到一个指定区间的随机整数 mt_rand():与rand一样,效率高 round():四舍五入 cell():向上取整 floor():向下取整 pow():求指定数字的指定指数次的结果 abs():绝对值 sqrt():求平方根
4)有关函数的函数 function_exists():判断指定的函数名字是否在内存中存在 func_get_arg():在自定义函数中去获取指定数值对应的参数 func_get_args():在自定义函数中获取所有的参数(数组) func_num_args():获取当前自定义函数的参数数量
指的是系统(或者用户)在对某些代码进行执行时,发现有错误,就会通过错误处理的 形式告知程序员
1)语法错误:用户书写的代码不符合PHP的语法规范,语法错误会导致代码在编译过程中不通过是,所以 代码不会执行(parse error) 2)运行时错误:代码编译通过,但是代码在执行的过程中会出现一些条件不满足导致的错误(runtime error) 3)逻辑错误:程序员在写代码的时候不够规范,出现了一些逻辑性的错误,导致代码正常执行,但是 得不到想要的结果
1)系统错误 E_PARSE:编译错误,代码不会执行 E_ERROR:fatal error 致命错误,会导致代码不能正确继续执行 E_WARNING:warning,警告错误,不会影响代码执行,但是可能得到其他结果 E_NOTICE:notice,通知错误,不会影响代码的执行 2)用户错误:【【微信】】,E_USER_WARNING,E_USER_NOTICE 用户在使用自定义错误触发的时候,会使用到的错误代号 3)其他:E_ALL 代表着所有从错误(通常在执行错误控制的时候使用比较多),建议在开发过程中使用
所有以E开头的错误常量(代号)其实都是由一个字节存储,然后每个错误占据一个对应的位 如果想进行一些错误的控制,可以使用位运算进行操作 排除通知级别:notice E_ALL & ~E_NOTICE 只要警告和通知:E_WARNING | E_NOTICE
程序运行时触发:系统自动根据错误发生后,对比对应的错误信息,输出给用户;主要针对代码 的语法错误和运行时错误
人为触发:知道某些逻辑可能会出错,从而使用对应的判断代码来触发响应的错误触发 trigger_error(错误提示,【【微信】】); 加了【【微信】】之后的代码不