php
Chris-Chang
You got a dream, you gotta protect it!
展开
-
1. PHP基本语法形式
这几天想总结一下最近学习的东西,最近这几篇内容虽然是介绍PHP基本语法的,但是,有些众所周知的内容我就没有在这里写入。其中记录的只是相对于我来说是感觉以前没有注意到或者比较重要的东西。1. php的开始和结束标记以<?php 开始和以 ?>结束的标准风格标记,属于XML标记以<script language="php"和以"</script>"结束是长风格标记以<?和?>结束标记是短风格的标记原创 2016-04-15 14:10:34 · 337 阅读 · 0 评论 -
3. PHP常量
1. 使用define()函数定义使用形式:define("常量名",常量值); 推荐常量名使用全大写形式2. 使用const语法定义使用形式: const 常量名=常量值; 一般在类中定义常量使用3. define()和const()区别3.1 版本差异两种定义常量的方式之间存在版本差异,函数define()在PHP4和PHP5中均可使用,关键字const只能在PHP 5.3.0及其后原创 2016-04-15 14:52:40 · 384 阅读 · 0 评论 -
4. PHP变量的类型(一)
1. 四种标量类型1.1 布尔类型boolean以下值被认为是false,所有其他值都被认为是true(包括任何资源) - 布尔值false - 整型值0(零)为假,-1和其他非零值(不论正负)一样,都被认为true - 浮点型值0.0 - 空白字符串和字符串”0” - 没有成员变量的数组 - 没有单元的对象(仅使用PHP4) - 特殊类型NULL(包括尚未设定的变量)PHP手册〉附录原创 2016-04-15 19:45:26 · 730 阅读 · 0 评论 -
5. PHP变量的类型(二)
续上一篇1. 伪类型伪类型并不是PHP语言中的基本数据类型。只是因为PHP是弱类型语言。所以在一些函数中,一个参数可以接收多种数据类型的数据,还可以接收别的函数作为回调函数使用。mixed:说明一个参数可以接收多种不同的(但并不是必须所有的)类型。例如gettype()可以接收所有的PHP类型,str_replace()可以接收字符串和数组number: 说明一个参数可以是integer或者f原创 2016-04-15 20:53:35 · 465 阅读 · 0 评论 -
13. php数据库抽象层PDO(一)
1. PDO安装1.1 Linux--with-pdo-mysql=/usr/local/mysql //其中"/usr/local/mysql"为MySQL服务器安装目录1.2 Windows修改php.ini文件,去掉注释extension=php_pdo.dll //所有PDO驱动程序共享的扩展,必须有extension=php_pdo_mysql.dll //使用mysql驱动,如果想要使原创 2016-05-25 13:46:12 · 576 阅读 · 0 评论 -
13. php数据库抽象层PDO(二)
1. 使用PDO对象1.2 调整PDO的行为属性在创建PDO对象时,没有在构造方法中最后一个参数设置过的属性选项,也可以在对象创建完成以后,通过PDO对象中的setAttribute()和getAttribute()方法设置和获取这些属性的值1.2.1 getAttribute()该方法只需要提供一个参数,传递一个特定的属性名称,如果执行成功,则返回该属性所指定的值,否则返回null<?php$o原创 2016-05-25 18:05:01 · 491 阅读 · 0 评论 -
14.php数据库抽象层PDO(三)
PDO提供了一种名为预处理语句的机制,它可以将整个SQL命令向数据库服务器发送一次。以后只有参数发生变化,数据库服务器只需对命令的结构做一次分析就够了,即编译一次,可以多次执行。会在服务器上缓存查询的语句和执行过程,而只在服务器和客户端之间传输有变化的列植,以此来消除这些额外的开销。不仅可以减少需要传输的数据量,还提高了命令的处理效率。可以有效防止SQL注入,在执行单个查询时快于直接使用query(原创 2016-05-26 13:59:05 · 482 阅读 · 0 评论 -
6.PHP中的运算符
1. 算数运算符+ - * / % ++ --%取模需要注意注意:求模运算符”%”也称取余运算符,在PHP语言中在做求模运算时首先会将%运算符两边的操作数转换为整型$v1 = 7.5 % 3; //结果是:1$v2 = 7.5 % 3.5; //结果是:1对比js中:——js中,不会进行取整处理var v1 = 7.5 % 3; //结果是:1原创 2016-05-03 12:47:52 · 418 阅读 · 0 评论 -
7.PHP中的运算符2
上接6.PHP中的运算符11.位运算符php中的位运算符符号 例子 名称 结果 $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1.原创 2016-05-03 12:53:07 · 342 阅读 · 0 评论 -
8.PHP中原码反码介绍及位运算符应用
1. 原码,反码,补码介绍 原码:就是“原来的二进制码”,其实就是我们可以理解的按10进制转换为二进制之后得到的一个字符码。 原码在数学上都是可以理解的。但在实际的计算机的运行过程中,却常常不用原码,所以就有反码,补码的问题。在此基础上上,规则:一个二进制数字的第一个位是符号位,0表示正数,1表示负数。例如(都以八位为例):7: 00000111-7: 10000111 反码:整数原创 2016-05-03 12:56:44 · 932 阅读 · 0 评论 -
15.php数据库抽象层PDO(四)
不管是使用PDO对象中的query()方法,还是使用prepare()和execute()等方法结合的预处理语句,执行select查询都会得到相同的结果集对象PDOStatement.都需要通过PDOStatement类对象中的方法将数据遍历出来。1. 获取数据1.1 fetch()方法PDOStatement类中的fetch()方法可以将结果集中当前行的记录以某种方式返回,并将结果集指针移至下一原创 2016-05-27 09:27:40 · 444 阅读 · 0 评论 -
16. php数据库抽象层PDO(五)
1. MySQL的事务处理mysql目前只有InnoDB和BDB两个数据表类型才支持事务。建议用InnoDB表CREATE TABLE employees(...) TYPE=InnoDB;//使用Type指定表类型为InnoDB在默认情况下,mysql是以自动提交(autocommit)模式运行的,这就意味着所执行的每一个语句都将立即写入数据库中。如果使用事务安全的表格类型,是不希望有自动提交的行原创 2016-05-27 12:33:25 · 526 阅读 · 0 评论 -
10. PHP中文件加载
这一篇博客主要讲文件加载的四种形式(include,include_once,require,require_once)1. 综述有四种文件加载的形式(不是函数)include include_oncerequirerequire_once它们的本质是一样的都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。他们只在2个方面有细微区别:xxx_once 和xxx的区别:前者原创 2016-05-22 15:27:52 · 477 阅读 · 0 评论 -
9.PHP中的流程控制结构
这一篇博客只是着重讲解一些容易忽略的细节问题1. if() | if()..else | if()…elseif() 括号里面通常是由比较运算符或者逻辑运算符组成的表达式所计算的结果值,或是一些返回布尔型的函数等。如果传入其他类型的值,也会自动转换为布尔型的true或false2. switch注意:和if语句不同的是,switch语句后面的控制表达式的数据类型只能是整型或字符串。不能是b原创 2016-05-22 13:58:36 · 401 阅读 · 0 评论 -
11. php的错误和异常处理(一)
1. 错误的分类语法错误 程序无法运行,直接显示语法错误(最容易修复)运行时错误只有程序运行到某行,或在某些特定的情形下运行才会发生错误逻辑错误程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的我们程序员主要面对的和要处理(应付)的错误,就是运行时错误2. 错误的报告级别 级别常量 错误报告描述 对应整数值 E_ERROR 致命的运行时错误(它会阻原创 2016-05-23 15:21:19 · 5013 阅读 · 0 评论 -
2. PHP变量
1. 形式:必须以$开头,后面紧跟变量名注意:通常在”能够出现”变量的语法中,只要出现$符号,并在其后面出现紧挨着的字符,就会被识别为一个变量,即使不存在该变量,例如:可以通过{}来解决这个问题<?phpecho "$info['username']你好";//这里会有问题需要使用{}定界符将变量名包起来2. empty()和isset()区别如果empty()函数的参数是非空或非零的值,则e原创 2016-04-15 14:48:16 · 488 阅读 · 0 评论 -
php5对象复制、clone、浅复制与深复制的区别与介绍
对象复制的由来 为什么对象会有“复制”这个概念,这与PHP5中对象的传值方式是密切相关的,让我们看看下面这段简单的代码 PHP代码 * /** * * 电视机类 * */ * class Television * { * /** * * 屏幕高度 * *转载 2015-03-12 13:14:41 · 723 阅读 · 0 评论 -
PHP将数组存入数据库中的四种方式
PHP将数组存入数据库中的四种方式最近突然遇到了一个问题,如何用PHP将数组存入到数据库中,经过自己的多方查找和研究,总结了以下四种方法:1.implode()和explode()方式2.print_r()和自定义函数方式3.serialize()和unserialize()方式4.json_encode()和json_decode()方式<?php // 将数组存入数据库中原创 2015-04-30 19:49:02 · 31920 阅读 · 0 评论 -
PHP面向对象1.1简单的介绍
1.1 类和对象之间的关系1. 简单的概念1.类: 具有相同属性和服务的一组对象的集合,其内部包含成员属性和方法两个主要部分2.对象: 类的实例化结果,也是PHP8种数据类型的一种,和数组一样属于复合数据类型。是面向对象程序的单位。2. 如何抽象一个类1. 成员属性:即在类中直接声明变量由关键字:public,private,protect,static等修饰表示其修饰的变量有原创 2015-10-31 16:11:27 · 420 阅读 · 0 评论 -
PHP面向对象1.2对象类型在内存中的分配
1.2 对象类型在内存中的分配 对象类型和整型,字符串类型一样,也是PHP中的一种数据类型。都是在程序中用于存储不同类型数据使用的,在程序运行时它的每部分内容都要先加载到内存中再被使用。1.1内存的结构 逻辑上内存大体分为四段,分别为栈空间段、堆空间段、初始化数据段和代码段,程序中不同类型的声明将会被存放在不同的内存段中,其特点如下:1.1.1 栈空间段 栈的特点是空间小但被cpu访原创 2015-10-31 17:22:33 · 669 阅读 · 0 评论 -
PHP面向对象1.3对象中成员的访问和构造析构函数
1.1 对象中成员的访问对成员属性的访问包括赋值操作和获取成员属性的操作。访问对象中的成员和访问数组中的元素类似。只能通过对象的引用来访问对象中的每个成员。 $引用名 = new 类名称([参数数列表]); //对象实例化格式 $引用名 -> 成员属性 = 值; //对成员属性赋值的操作 $echo $引用名 -> 成员属性; //获取成员属性的值 $引用名 ->原创 2015-10-31 18:16:11 · 1004 阅读 · 0 评论 -
PHP面向对象1.4 封装性
1. 基本的概念 封装性 把对象的全部成员属性和全部成员方法结合在一起,形成一个不可分割的独立单位(即对象) 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的接口使之与外部发生联系。 2. 设置私有成员:使用private关键字 封装后的成员在对象的外部不能被访问,但在对象内部的成员方法中可以访问到自己对象内部被封原创 2015-11-02 20:10:03 · 399 阅读 · 0 评论 -
PHP面向对象 1.9 多态性的应用
面向对象除了封装和继承之外的另一个重要特性——多态性; 最直接的定义解释让具有继承关系的不同类对象,可以对相同名称的成员函数调用,产生不同的反应效果 多态性值得就是方法的重写。方法的重写是指一个子类中可以重新修改父类中的某些方法。使其具有自己的特征。 例如一个计算机的USB接口可以识别不同的USB设备<?php//定义一个计算机USB接口,让每个USB设备都遵守这个规原创 2015-12-07 10:41:37 · 417 阅读 · 0 评论 -
PHP面向对象1.5 继承
在C++中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个继承称为多继承。但在PHP中和java语言一样没有多继承,只能使用单继承模式1. 类的继承应用 使用extends关键字<?php//声明一个人类,定义人所具有的所有功能和属性class Person{ var $name; var $sex; var $age;原创 2015-12-05 16:16:53 · 401 阅读 · 0 评论 -
腾讯QQ第三方登录1:申请接入(OAuth2.0协议)
第三方登录,一般都是遵循OAuth2.0协议。1. QQ登录OAuth2.0协议开发流程1.1 开发流程申请接入,获取appid和appkey;开发应用,设置协作者账号,上线之前只有协作者才能进行第三方登录放置QQ登录按钮(这个自己可以用一些其他的按钮)通过用户登录验证和授权,获取Access Token;通过Access Token获取用户的OpenID;调用OpenAPI,来请求访问原创 2016-01-23 17:32:20 · 7000 阅读 · 0 评论 -
PHP面向对象 1.6 常见的关键字
1. final关键字 PHP5新增,可以加载类或类中方法前,但是不能使用final标识成员属性 使用final标识的成员方法,在子类中不能被覆盖 <?php final class Myclass{//使用final关键字标识,使其不能有子类 //成员略 } class Myclass2 extends MyClass{//试图继承fi原创 2015-12-05 18:02:05 · 909 阅读 · 0 评论 -
PHP面向对象 1.7 常见的魔术方法及应用
1. __clone() 该方法是在对象克隆时自动调用的,所以就可以通过此方法对克隆后的副本进行重新初始化。 __clone()方法不需要任何参数,该方法中自动包含$this和$that两个对象的引用。$this是副本对象的引用,$that是原本对象的引用。 <?php//声明一个Myclass类,在类中声明一个常量和一个成员方法class MyClass{原创 2015-12-05 21:40:49 · 379 阅读 · 0 评论 -
腾讯QQ第三方登录2:原理与实现(OAuth2.0协议)
QQ第三方登录执行过程1 第三方登录图标的代码2 点击后进入login方法其中的部分代码如下3 实例化QqSDK类调用getAuthorCode方法获取Authorization CodeQqSDK类的代码如下4 通过Authorization Code获取Access Token5 获取用户的OpenID6 调用API获取用户的基本信息原创 2016-01-25 11:14:54 · 10349 阅读 · 0 评论 -
新浪微博第三方登录1:申请接入(OAuth2.0协议)
1. 微博登录OAuth2.0协议开发流程与QQ登录略有不同申请接入,获取appid和appkey;开发应用,设置协作者账号,上线之前只有协作者才能进行第三方登录放置微博登录按钮(这个自己可以用一些其他的按钮) 通过用户登录验证和授权,获取Access Token; 调用Access Token,来请求访问或修改用户授权的资源2. 申请接入新浪微博第三方登录申请地址原创 2016-01-25 11:42:05 · 5827 阅读 · 0 评论 -
PHP面向对象 1.8 抽象类与接口
抽象类与接口类似,都是一种比较特殊的类。抽象类是一种特殊的类,而接口是一种特殊的抽象类1. 抽象类 抽象方法没有方法体,指没有花括号及其中的内容,而是直接在声明方法时直接在后面加上分号结束。声明抽象方法还要使用关键字abstract修饰。 abstract function fun1();//不能有花括号及其中的内容,直接在方法名的括号后面加上分号,并且用abstract修原创 2015-12-07 09:58:40 · 411 阅读 · 0 评论 -
PHP学习笔记:PHP基本语法详解 2.bool型和浮点型和字符串
PHP学习笔记:PHP基本语法详解 --bool型和浮点型和字符串1. bool型细节1.要指定一个布尔值,使用关键字 TRUE 或FALSE。两个都不区分大小写。2. bool类型转换1)当转换为 boolean 时,以下值被认为是 FALSE:3. 浮点型细节4. 字符串细节原创 2015-05-12 17:38:59 · 503 阅读 · 0 评论 -
PHP学习笔记:3.PHP基本语法详解---运算符
PHP学习笔记:PHP基本语法详解 ---运算符1. 运算符的优先级运算符2. 算数运算符算数运算符除法运算符总是返回浮点数取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。取模运算符 % 的结果和被除数的符号(正负号)相同。即 $a原创 2015-05-12 21:43:17 · 517 阅读 · 0 评论 -
PHP学习笔记:1.PHP基本语法详解整型
PHP学习笔记:1.PHP基本语法详解---整型1. 整型细节1) 整型值可以使用二进制0b打头,十进制,十六进制0x打头,或八进制0打头表示,当输出时所有进制将转换为10进制输出:$a = 2344;//十进制$a = -234;//八进制$a =0b111//二进制,相当与十进制的7$a = 0123;//八进制,相当于十进制83$a = 0x1A; //十六原创 2015-05-10 21:41:12 · 552 阅读 · 0 评论 -
12. php的错误和异常处理(二)
1. 异常处理实现通过以下语句实现:<?phptry{ //所有需要进行异常处理的代码都必须放入这个代码块内 ... ... //这里可以使用throw语句跑出一个异常对象}catch(ex1){ //使用该代码块捕获一个异常,并处理 ... ... //处理发生的异常,也可再次抛出异常}在PHP代码中所产生的异常可以被throw语句抛出并被catch语句原创 2016-05-23 18:20:37 · 609 阅读 · 0 评论