Php笔记

合集下载

PHP学习笔记---基础知识

PHP学习笔记---基础知识

PHP学习笔记---基础知识⼀、PHP简述 PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超⽂本预处理器")是⼀种通⽤开源脚本语⾔。

在⼀个php⽂件中可以包括以下内容:PHP ⽂件可包含⽂本、HTML、JavaScript代码和 PHP 代码PHP 代码在服务器上执⾏,结果以纯 HTML 形式返回给浏览器PHP ⽂件的默认⽂件扩展名是 ".php" php的使⽤:PHP 可以⽣成动态页⾯内容PHP 可以创建、打开、读取、写⼊、关闭服务器上的⽂件PHP 可以收集表单数据PHP 可以发送和接收 cookiesPHP 可以添加、删除、修改您的数据库中的数据PHP 可以限制⽤户访问您的⽹站上的⼀些页⾯PHP 可以加密数据⼆、基本语法格式 PHP 脚本以 <?php 开始,以 ?> 结束1 <?php2//php脚本的基本格式3/*4 * 多⾏注释,跟java的注释⽅法相同5 * */67//php的变量声明是以$开始的8$num = 3.14;9$str = "hello";1011/*static的关键字的使⽤12 * 当⼀个函数完成时,它的所有变量通常都会被删除。

13 * 然⽽,有时候您希望某个局部变量不要被删除。

14 * 要做到这⼀点,请在您第⼀次声明变量时使⽤ static 关键字:15 * */16function test(){//这⾥是声明函数test()17static$n = 0;18$n ++;19echo "调⽤⼀次n:",$n,"\n";20//echo是php中的输出语句,能够利⽤“,”进⾏多个字符串的输出21 //print输出语句只允许输出⼀个字符串,返回值总为 122 }23 test();test();test();24 ?>三、数据类型、常量以及字符串 php有5种数据类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

php笔记

php笔记

PHP笔记大全1.http协议得到文件的绝对路径$file_path=$_SERVER[‘DOCUMENT_ROOT’] 在PHP中大写关键字,都是系统规定的常量;判断文件是否存在的函数是file_exists(“文件的路径(相对或绝对路径)”);判断文件的大小函数file_size(“文件的路径(相对或绝对路径)”);打开文件的函数fopen(“文件的路径(相对或绝对路径)”,“文件的打开方式”);Header(“Content-type:application/octet-steam”)的主要作用是用于指定返回文件的类型,常用于解决文件乱码问题;文件下载的示意图header(“Content-type:application/octet-steam”)指返回的文件h eader(“Accept-Length:$file_size”);指返回文件的大小header(“Accept-Ranges:byts”)指文件按字节的单位返回header(“Content-Disposition:attachment;filename=”.$file_name);$file_name=iconv(“utf-8”,”gb2312”,$file_name);php的文件函数比较古老,需要对中文转码gb23122.php数据库编程数据库有三种方式操作数据库1mysql扩展库,2mysqli扩展库,3pdo各种工具操作数据库的过程程序操作数据库结构示意图php的mysql扩展库的实质是php的设计者为程序员提供一堆函数来操作数据库主要由于(CRUD)C:指创建数据库R:指增加数据库U:指更新数据库D:指删除数据库php开发mysql的环境的搭建第一:用mysql扩展库方法在php.Ini extension=php_mysql.dll去掉前面的分号第二:重启Apache创建数据库的具体案例create table user1 (id int primary key auto_increment,name varchar(32) not null,password varchar(64) not null,email varchar(128) not null,age tinyint unsigned not null);插入值: Insert into user1(name,password,email,age)values(‘zs’,md5(‘123456’),’zs@’,30) 其中md5()函数是一个加密函数php创建数据的步骤(通过mysql扩展库)数据库连接的函数是:mysql_connect(“主机名”,”用户名”,”数据库的密码”);选择数据库的函数是:mysql_select_db(“数据库的名字”);设置数据库的编码方式主要有:mysql_query(“set names utf8”);发送sql语句的函数:mysql_query(“mysql语句”);$res=mysql_query(“sql语句”,”数据连接语句”);$res是一种资源型数据(可以理解为一种数集,或者就是一张表);$row=mysql_fetch_row($res)mysql_fetch_row函数的主要作用是依次取出结果集的数据($res)的下一行数据,赋值给$row ,$row是表中每一行的数据,是一个数组释放资源的主要函数:mysql_free_result($res)一定要有,不然会消耗大量的资源关闭连接的主要函数:mysql_close($conn);mysqkl_query()函数结果比较如果执行的是dml语句则返回的值是bool值,主要的语句是增改删有关的语句如果执行的是dql语句,则返回的是结果集($res)mysql result 处理结果集的主要函数有mysql_fetch_row($res),返回的是一个索引数组(建议使用)mysql_fetch_assoc($res)返回的是一个关联数组mysql_fetch_array($res)返回的是索引数组和关联数组mysql_fetch_object($res)返回一行数据,当做一个对象处理用php操作数据库注意事项程序运行完毕之后,要释放程序在运行过程当中,创建的那些与数据库进行交互的资源,这些对象通常是资源型数据和数据库连接资源特别是连接资源它是非常稀有的资源,用完之后要及时的释放,如果不能及时的释放,正确的关闭,很容易导致系统瘫痪,连接资源的使用原则是尽量晚创建,尽量早的释放;通常系统有mysql_close()机制;可以不用调用;mysql_affected_rows()主要作用是知道数据库的行数,mysql_num_fields($res)的主要作用是知道函数的列数Mysql和mysqli扩展库的区别和比较mysqli的稳定性安全性效率有所提高mysqli即支持面向对象编程,也支持面向过程编程示意图php使用mysqli的环境搭建第一在php.ini文件中的extention=php_mysqli_dll前面的分号去掉第二重启apache;mysqli操作mysql数据的步骤(面向对象)一创建mysqli对象二操作数据库三处理结果四关闭资源($res->free();)关闭连接$mysqli->close();$mysqli->query()的执行结果程序中的$res用于表示sql语句的执行结果如果执行的是dml语句则返回的值是bool值,主要的语句是增改删有关的语句如果执行的是dql语句,则返回的是结果集($res)mysql result 处理结果集的主要函数有mysqli_result::fetch_row($res),返回的是一个索引数组(建议使用)mysqli_result::assoc($res)返回的是一个关联数组mysqli_result::array($res)返回的是索引数组和关联数组mysqli_result::object($res)返回一行数据,当做一个对象处理注意(::和->是等价的)mysql的sql语句的特别说明如果操作的字段类型是string型,则我们需要用‘’包括;如果操作的类型是数字型,可以用‘’包括,也可以不用;mysqli的增强用法批量的执行dql语句基本用法mysql::multi_query($sqls)批量的执行dml语句可以混合是用delete insert update 但是最好不要使用selectmysqli操作数据库的过程示意图mysql的事物处理事物是用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败,网上转账就是典型的用事物处理的案例,主要是为了保证数据的一致性在mysql控制台使用事物操作的具体步骤1开启一个事物start transtation2做保存点savepoint 保存点名称3数据库的有关操作4可以回滚,可以提交4.1如果没有问题就可以提交commit,一旦提交就不可以修改4.2如果觉得有问题就回滚,rollback进行修改mysqli扩展库的数据操作(acid)原子性(Automicty)一致性(Consistency) 隔离性(isloation) 持久性(Durablity)mysqli扩展库的预处理技术问题的提出需要向数据库添加多条记录的方法1使用for循环多次,向数据库2使用批量处理$sql=””$sql=””。

PHP个人笔记

PHP个人笔记

第二讲1、PHP基本语法和数据类型:(1)、PHP基本语法:1、htm 和php 混编2、一个语句以; (分号结束)3、如何定义一个变量,和变量的使用(2)、PHP数据运算类型四种标量类型:boolean(布尔型)integer(整型)float(浮点型,也作“double”)string(字符串)两种复合类型:array(数组)object(对象)第四讲条件语句1、if 条件语句程序中最常见的,大部分语言中都存在的一种条件语句,在开发中起着至关重要的作用,格式如下:if(expr)echo TRUEelseecho FALSE2、switch 条件语句在多个条件当中使用Switch 更加精巧,格式如下switch ($i) {case 0:echo "输出0";break;case 1:echo "输出1";break;case 2:echo "输出2";break;}第五讲PHP循环语句的介绍和应用1、break n 循环控制语句也可以理解为循环中断语句,跳出循环语2、do…while 循环语句do{……}while(expr)先执行一次循环再判断条件while(expr){……}先判断条件执再行一次循环3、for 循环语句for 循环是PHP 中最复杂的循环结构。

它的行为和C 语言的相似。

for (expr1; expr2; expr3){……}第六讲PHP数组的创建修改应用1、创建和修改数组/ 多维数组2、数组与数组的函数3、使用foreach 遍历数组PHP中的数组是一个关键字或值的集合(值可以是任何一种类型,包括另一个数组)PHP中使用array来创建一个数组:array( key=>value , key=>value …… )$arr = array("a" => "视频", "b"=>"教程", "c" => "六");$arr['a'] = "PHP100";$arr['c'] = "第六讲";使用count 函数统计数组条数使用is_array函数判断数组另一种创建数组的函数explode遍历数组很多种方法,可以使用For循环,while循环,最巧妙的一种遍历数组foreach给我们带来了跟多方便第七讲PHP函数和自定义函数1、PHP函数介绍函数就是为了解决一些常见问题实现制作好的“模”PHP函数分为:系统内部函数和自定义函数函数的优越性:控制程序设计的复杂性提高软件的可靠性提高软件的开发效率提高软件的可维护性提高程序的重用性func(val1,val2,…);2、PHP如何自定义函数使用Function 来自定义一个函数:函数的命名跟自定义变量一样,只能使用_, A~Z, a~z一个自定义函数中的变量是局部的,函数外不生效使用global全局变量的时候,在函数外才可使用变量(不建议)为了放置全局变量的混乱可以使用unset($var)删除一个变量Function func_name($val){……}3、使用自定义函数实例操作(1)使用return 函数返回函数内部值(2)自定义函数值的接收和选择性接收(3)function_exists() 判断函数是否存在(4)引用返回值使用&符号第八讲MYSQL简介和创建新的数据库1、MYSQL简介与概要MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统(1)、可以处理拥有上千万条记录的大型数据(2)、支持常见的SQL语句规范(3)、可移植行高,安装简单小巧(4)、良好的运行效率,有丰富信息的网络支持(5)、调试、管理,优化简单(相对其他大型数据库)2、访问MYSQL的几种途径3、介绍数据库中常用字段类型整数型:TINYINT,SMALLINT,INT,BIGINT小数型:FLOAT,DOUBLE,DECIMAL(M,D)字符型:CHAR,VARCHAR日期型:DATETIME ,DATE,TIMESTAMP备注型:TINYTEXT ,TEXT ,LONGTEXT4、创建一个简单的数据库(并学习5个数据库操作命令)创建一个数据库命令:CREATE TABLE删除一个数据库命令:DROP TABLE修改一个字段名称:RENAME TABLE `原字段` TO `新字段` ;删除一个字段:ALTER TABLE `表` DROP `原字段`插入一个字段:ALTER TABLE `表` ADD `新字段` …AFTER `原字段`第九讲数据库中常用的SQL语句1、SELECT 查询语句和条件语句SELECT 查询字段FROM 表名WHERE 条件查询字段:可以使用通配符* 、字段名、字段别名表名:数据库.表名,表名常用条件:= 等于、<>不等于、in 包含、not in 不包含、like 匹配BETWEEN 在范围、not BETWEEN 不在范围< 、>件运算:and 、or 、( )2、排序,分组,指针查询,计算分组语句:group by 字段排序语句:order by 字段,字段ASC / DESC指针查询:limit 初始值,结束值计算:COUNT(*) 统计函数MAX(*) 最大值函数MIN (*) 最小值函数AVG(*) 平均值函数SUM(*) 累计值函数(∑)3、Insert 插入语句insert into 表名(字段…,…) values(值…,…)insert into 表名values(值…,…)插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象4、Update 更新语句UPDATE 表名SET 字段= 值WHERE 条件limit5、Delete 删除语句DELETE FROM 表名WHERE 条件limit第十讲MYSQL在PHP中的应用1、PHP与mysql建立链接php.ini 加载mysql组件:extension=php_mysql.dll 前的; 去掉extension_dir = " " 路径是否正确mysql_connect("主机", "用户名", "密码")mysql_select_db("打开数据库",连接标识符);@ 和or die 隐藏错误和条件显示如果不特别声明连接标识符,则默认为是上一次打开的连接。

php笔记

php笔记

1 php代码从右至左读取2(1)localhost:8080指向www文件夹(2)localhost:8080/phpinfo.php为php的系统环境变量,所有的参数都储存在这里3(1)//单行注释(2)/**/多行注释4 (1)echo 功能:在浏览器输出字符串;返回值void(2)print 功能:在浏览器输出字符串;返回值int(3)printf() 功能:在浏览器输出字符串返回值:字符串长度(4)sprintf功能:将字符串保存在内存中,使用echo在浏览器输出返回值:字符串5 在中英文切换过程中注意标点是在英文输入法下输入6 选中代码行ctrl+/(键)注释7 常量一旦被定义后就不能更改,常量要大写8 echo如果打印字符串需要加””,打印常量、变量不加。

9 php预定了很多常量,输入代码phpinfo()查看,echo打印需要加$;10 学习期间使用GBK编码,做项目采用UTF8,要改过来。

11 post 和get传输区别:post只传输不在网站处显示;get传输的同时显示在网址。

12 双引号里面可以放变量、转义字符进行解析出来13 (1) break退出循环,这个循环不再循环(2) exit退出整个程序(3) continue 退出当前本次循环继续下次循环14 写代码时注意for if等函数的{}和()与其他函数混在一起别搞错15相同名词key=键=下标=键=偏移量16当做字符串比较大小,从第一位开始比较17 for(…;…;) 分号;连接18 函数不区分大小写:Name()和nam()是同一个函数,变量区分大小写:$Name 和$name是不同变量。

19 include与require区别:include文件若不存在,出现两个警告,下面的程序可以继续运行;require文件若不存在,直接报错,接下来的程序也不能运行,推荐使用require.; incluce在用到时加载 ,require在一开始就加载20 header()作用:(1)重定向URL()21超全局变量:超全局变量是在全部作用域中始终可用的内置变量,注意:超级全局变量函数使用中括号[]而不是()22 isset()与empty()区别:isset检查变量是否存在,变量可以为空;empty()检查变量是否为空23 session存放于服务器端,一般存放1440秒,关闭浏览器即销毁,及时性(和cookie区别);cookie应用于会员登录,购物车,不存储在服务器,存在安全性隐患;session用于后台登陆,安全性高,一段时间不操作会过期24 zend studio查找代码ctrl+f25 /和\是有区别的26 文件格式jpg和jpeg的使用:牵涉到图片真实路径时jpg其余jpeg27 有数字规律的for循环没有的while循环28 类名第一个字母大写29 __construct()构造函数是类中的一个特殊函数,当使用new操作符创建一个类的实例时,构造函数将会自动调用(__construct两个下划线)30 php的public、protected、private三种访问控制模式的区别:public: 公有类型在子类中可以通过self::var调用public方法或属性,parent::method调用类方法在实例中可以能过$obj->var 来调用public类型的方法或属性.protected: 受保护类型在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法;在实例中不能通过$obj->var 来调用 protected类型的方法或属性private: 私有类型该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法31 self 和parent 的区别a).在子类中常用到这两个对像。

PHP学习笔记

PHP学习笔记

PHP学习笔记(一) 基本概念1.基本语法每一句后面要有分号”;”变量名前必须有$符号,不需要提前声明。

数组会自动扩展,不需要提前定义,下标支持字符串,使用的是哈希表索引。

特殊的一个用法是$a=”b”$$a=”c”等价于$b=”c”字符串相加运算符“.”强制类型转换有三种Integer Double String结构控制同C相同2.数组的哈希表遍历$i[“a”] = 0;$i[“c”] = 1;Reset($i);$k = key($i); ←和next一起用Echo “$k, $i[$k]”;Next($i); ←3.开发环境PHP和mysql服务器暂时选择APM ExpressIDE用Zend Studio,挺好用的,有个小问题,如果破解了xp的uxtheme.dll那么Zend反应会非常慢,网上似乎很少有人遇到这个问题,在配置里面把“使用os界面方案”点掉就行啦。

使用/**/或//或#注释程序4.语法对变量大小写敏感,但是对函数大小写不敏感字符常量用单引号,字符串用双引号,字符串中出现双引号时需要用转义字符\”PHP内部常量:__FILE__, __LINE__, PHP_VERSION, PHP_OS….&:指针,只能用于函数中参量的引用传值->:对象的方法或属性=>:数组的元素值$a = array( “apple”=>“red”, “orange”=>”yellow”)5.数组数组不需要声明,数组没有类型;元素和下标都可以是任何类型,同一数组各元素的类型也可以不同;数组允许嵌套,数组的元素可以是数组。

数组的遍历:1.While(list($key, $value) = each($arr)){// $key →下标// $value →值}2.foreach($arr as $value){// $value →值}3.foreach($arr as $key=>$value){// $key => $value}数组排序:sort arsort assort rsort ksort usort6.数组操作相关函数count(mixed var) 计算数组内元素/变量个数sizeof(array) 计算数组内元素个数reset(array) 设置内部指针指向第一个元素end(array) 设置内部指针指向最后一个元素next(array) 返回下一个元素prev(array) 得到前一个元素each(array) 返回下一个key/value对$test = array(‘x’=>’x1’, ‘y’=>’y1’); $bar = each($test);$bar内有四个值0=>x 1=>x1 key=>x value=>x1通常和结构体(非函数)list()共同使用While( list($key, $value) = each($arr)) {…}7.函数Function func($arg1, $arg2, …..) // 参数可以使用数组,可以使用引用& →&$arr 可变长度的参数,PHP支持多个参数同时传递,而不用预先定义它们的个数。

php学习笔记总结

php学习笔记总结

php学习笔记总结php学习笔记总结篇一:php学习总结调试/*………*/ //…….#..........插入时考虑清楚字段类型避免插入后出现缺值,乱码@ 屏蔽错误or die 条件显示以前学习php类的总结:1.php中不能重载,但是能用子类覆盖父类的方法名称来实现新的重载1.1 在子类中调用父类的覆盖部分可以使用父类名称::方法名称();2.final 只能定义类和方法,不能使用final定义成员属性,因为final是常量的意思,在php里定义常量使用的是define函数2.1 final关键字标记的类不能被继承2.2 final关键字标记的方法不能被子类重写3.const是一个定义常量的关键字,在php中定义常量使用的是define()函数,但是在类里定义常量使用的是“const” 这个关键字3.1在程序中不能修改它的值。

3.2 访问const 修饰的成员属性要使用类名,在本类的方法里使用“self”关键字,但不使用"$"符号,也不能使用对象来访问。

4.static关键字可以描述类中的成员属性和成员方法4.1 static 的成员属于类,而不属于任何对象,4.2 static的成员是在类第一次被加载的时候分配的空间,其他类无法访问的,只对类的实例共享,能一定程度对类该成员形成保护4.3 静态成员放到了“初始化静态段”,在类第一次加载的时候放入的,可以让堆内存里的每个对象共享。

所以在静态方法里,可以使用这个方法所在的类的“类名”,也可以使用“self”来访问其他静态成员。

“self”代表这个静态方法所在的类。

4.3.1 在类里的静态方法是不能访问类的非静态成员的。

4.3.2 在类的非静态方法里可以访问静态成员:”self:成员属性“;4.4类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样,类似于全局函数。

4.5 在类内函数访问静态变量时前面加self::静态函数4.6 静态变量可以在类外直接访问,访问方法是类名::静态变量4.7 静态函数可以在类外直接访问,访问方式是类名::静态函数4.8 在类内静态函数访问另一个静态函数时使用类名::静态函数名4.8.1 静态函数在类内访问静态变量时,访问方式是类名::静态变量4.8.2 静态函数在类内访问静态变量时,访问方式除了是类名::静态变量外,还可以使用self::静态变量4.9 在类内静态函数访问另一个静态函数时除了使用类名::静态函数名外,还可以使用self::静态函数名,也可以直接调用静态函数4.10 静态函数内不能访问非静态变量4.11 在类内静态函数不能使用$this->非静态函数名访问非静态函数,可以使用self::非静态函数名4.125.类里的”$this“,在php里面提供了一个本对象的引用$this,每个对象里面都有一个对象的引用$this来代表这个对象,完成对象内部成员的调用。

php学习笔记

php学习笔记

php学习笔记一、了解php1.什么是phpPHP 超文本预处理器;服务器端的脚本语言;是一种被广泛应用的开放源代码的多用途脚本语言;他可以嵌入到html中;尤其适用web开发。

2.php在web中的应用服务器端的、嵌入到html中、脚本语言3.php能做什么收集表单数据、生成动态页面、字符串处理、处理服务器端文件系统、编写数据库支持页面、会话控制、服务器端的相关操作。

4.为什么要用phpphp 运行与各种平台(windows,linux,unix,mac os X 等等);php 兼容几乎所有服务器(apache iis);php支持多种数据库;php是免费的请从哪官方网站下载;php易于学习并且高效的运行在服务器端。

5.php主要应用的领域:服务器端脚本、命令行脚本。

二、 PHP内容1. 第一个php脚本程序a、php文件必须以.php为后缀,或者apache等web服务器的其他后缀名b、php文件必须放置在服务器根目录下才能运行比如说 www 目录 htdocs目录c、根目录下的文件与文件夹命令都不能用中文d、不能直接在本地打开必须通过浏览器来访问php文件(localhost或者 127.0.0.1)2. php标记语言php文件中的代码需要放置在这对标记中才能运行<?php 内容 ?>3. php代码嵌入html中的位置html文档中可以嵌套多个<?php ?> 开始和结束标记url传值的方式一定是get方式请使用get方式接收4.PHP 解读开始和结束标记标准风格<?php ?> asp风格 <% %> 推荐使用标准风格注意:整个代码中只有php语言的时,请将结束标记省略。

5. 指令分隔符“;”PHP语法中的流程控制语句、定义函数的语句、定义类的语句都没有分号,除了上面的不需要加分号其他的都需要加分号。

6. 程序的注释html <!-- -->css /* */php 注释/**/ 多行注释多行注释里面不能嵌套多行注释// 单行注释# 单行注释7. 在程序中的空白的处理空格和回车都是用来排版的,让你的代码可读性更高。

PHP自学笔记

PHP自学笔记

狗小云PHP自学笔记echo :对用户展示的$ :自定义变量; : 结束符号. :用于没有“”号的衔接事例:$a.$bif() :如果括号里的成立完整判断逻辑事例 if (condition) {;}elseif() :如果主括号第一不成立,继续检查第个括号是否成立else : 如果所有括号里的都不成立执行下面的—————————————switch省略精简语句——————————————————switch () :精简的带入括号里的数值,开始进行比较case :比较是否等于合成立,可以理解为等号,break :跳出这级循环,返回上一级,继续进行default :如果以上都没等于成立的,将执行下面的break n ; :跳出几层循环do{循环内容}while(判断条件): 先执行一次,在判断()里条件是否成立,成立继续执行while(判断条件){循环内容}:先判断括号是否成立,在执行下面的{}循环.--------------------------------------------------------For(无条件;比较循环;循环条件)For 循环例子for ($i = 1; $i < 10; $i++) {}$a = array(id=1,id=2) :数组格式括号里的是数组分类列队,排列从0开始$a[0] :调用数组小分类从0开始调用$a[0]="0" : 单一定义数组变量print_r(变量) :预览输出变量和数组结果count($a); :查看数组里有多少个变量is_array($a) : 判断是不是数组。

$a2=explode("拆分条件或者关键字"$所要拆分变量) :定义一个新变量,拆分某一个变量,变成数组---------------------------------遍历数组----------------------foreach ($a as $key=>$sb)echo("$sb")遍历数组,将整个数组,全部输出,$a 是上级数组 $key 是数组逻辑ID $sb 整个数组输出的新变量名称 as 隔开———————————————自定义函数模块——————————事例1:function _name() {echo "狗小云";};_name();Function 开启自定义变量_name() 是自定义的名称{echo "狗小云";} 是事件模块,这里直接写了一个文字输出事件,_name() 放到任何位置就可以实现输出文字效果了,不需要在写echo,{}里的变量,不参与全局,可以随意自定义,与{}外的,重复也没关系。

PHP总结性学习笔记

PHP总结性学习笔记

PHP总结性学习笔记PHP手册中总结性学习笔记:1、echo()描述:输出数据到HTML或者到浏览器窗口,其实它不是一个函数,只是一种语言结构,返回值为空void当使用()时只能传递一个参数如echo("he"),当不使用()是可以输出多个项目,如echo "he","you","I".2、print()输出数据到HTML或者到浏览器窗口,其实它也不是一个函数,只是一种语言结构,返回值为1,不管你使用()与否,只能输出一个项目。

3、print_r($bianliang[,true])描述:打印有关一个变量的易于理解的信息,如果设置了第二个参数为true则只是获得输出结果,但是不打印相关内容。

当输出变量为整型、字符型、浮点型时,按其原样输出,当输出为数组或者对象时会按一定格式输出键值和元值如输出数组时Array([0] => 1[1] => dfd[2] => Array([0] => dk[1] => 45[2] => dfdfdfdf))如输出对象时AdodbData Object([mConn] => ADODB_mysql Object([databaseType] => mysql[dataProvider] => mysql[hasInsertID] => 1[hasAffectedRows] => 1[metaTablesSQL] => SHOW TABLES[metaColumnsSQL] => SHOW COLUMNS FROM `%s`[fmtTimeStamp] => 'Y-m-d H:i:s'[hasLimit] => 1[hasMoveFirst] => 1[hasGenID] => 1[isoDates] => 1[sysDate] => CURDATE()[sysTimeStamp] => NOW()[hasTransactions] =>[forceNewConnect] =>[poorAffectedRows] => 1[clientFlags] => 0[substr] => substring[nameQuote] => `[compat323] =>[_genIDSQL] => update %s set id=LAST_INSERT_ID(id+1); [_genSeqSQL] => create table %s (id int not null)[_genSeqCountSQL] => select count(*) from %s[_genSeq2SQL] => insert into %s values (%s)[_dropSeqSQL] => drop table %s[database] => test[host] => 127.0.0.1[user] => root[password] => root[debug] =>[maxblobsize] =>[concat_operator] => +[length] => length[random] => rand()[upperCase] => upper[fmtDate] => 'Y-m-d'[true] => 1[false] => 0[replaceQuote] => \'[charSet] =>[metaDatabasesSQL] =>[uniqueOrderBy] =>[emptyDate] =>[emptyTimeStamp] =>[lastInsID] =>[hasTop] =>[readOnly] =>[genID] => 0[raiseErrorFn] =>[cacheSecs] => 3600[memCache] =>[memCacheHost] =>[memCachePort] => 11211 [memCacheCompress] => [arrayClass] => ADORecordSet_array [noNullStrings] => [numCacheHits] => 0[numCacheMisses] => 0 [pageExecuteCountRows] => 1 [uniqueSort] =>[leftOuter] =>[rightOuter] =>[ansiOuter] => [autoRollback] => [fnExecute] => [fnCacheExecute] => [blobEncodeType] => [rsPrefix] => ADORecordSet_ [autoCommit] => 1 [transOff] => 0[transCnt] => 0 [fetchMode] =>[null2null] => null[_oldRaiseFn] =>[_transOK] =>[_connectionID] => Resource id #8 [_errorMsg] =>[_errorCode] =>[_queryID] => 1[_isPersistentConnection] => 1 [_bindInputArray] =>[_evalAll] =>[_affected] =>[_logsql] =>[_transmode] => [databaseName] => test)[mGetFields] => [mGetRows] =>[mStartId] =>[mRRst] =>[mRst] => Array())注意:当输出数组的时候数组的数组的指针将移动到最后一个元素,可以用reset()将指针移到第一元素。

PHP学习笔记、PHP实例

PHP学习笔记、PHP实例

PHP高级编程第一章:Php高级语法 (2)Php Date() (2)PHP引用文件 (3)Php文件处理 (7)PHP文件上传 (10)PHP Cookies (14)PHP Sessions (17)Php mail()函数 (20)PHP安全的电子邮件 (22)Php错误处理 (26)PHP异常处理 (32)PHP过滤器 (41)第二章:Php数据库操作 (49)PHP MySQL连接数据库 (49)PHP MySQL创建数据库和表 (50)PHP MySQL Insert Into (55)PHP MySQL Select (57)PHP MySQL Where子句 (60)PHP MySQL Order By关键词 (61)PHP MySQL Update (63)PHP MySQL Delete From (65)PHP Database ODBC (66)第一章:Php高级语法Php Date()PHP的date()函数用于格式化时间或日期。

PHP Date()函数PHP Date()函数可把时间戳格式化为可读性更好的日期和时间。

语法date(format,timestamp)参数描述format必需。

规定时间戳的格式。

timestamp可选。

规定时间戳。

默认是当前的日期和时间。

PHP日期-什么是时间戳(Timestamp)?时间戳是自1970年1月1日(00:00:00GMT)以来的秒数。

它也被称为Unix时间戳(Unix Timestamp)。

PHP日期-格式化日期date()函数的第一个参数规定了如何格式化日期/时间。

它使用字母来表示日期和时间的格式。

这里列出了一些可用的字母:•d-月中的天(01-31)•m-当前月,以数字计(01-12)•Y-当前的年(四位数)您可以在我们的PHP Date参考手册中,找到格式参数中可以使用的所有字母。

可以在字母之间插入其他字符,比如"/"、"."或者"-",这样就可以增加附加格式了:<?phpecho date("Y/m/d");echo"<br/>";echo date("Y.m.d");echo"<br/>";echo date("Y-m-d");?>以上代码的输出类似这样:2006/07/112006.07.112006-07-11PHP日期-添加时间戳date()函数的第二个参数规定了一个时间戳。

PHP基础学习笔记

PHP基础学习笔记
script tags:<script language=”php”></script>
2、 PHP变量及数据类型
1) $variable ,变量以字母、_开始,不能有空格
2) 赋值$variable=value;
3) 弱类型,直接赋值,不需要显示声明数据类型
/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/
print "The meaning of life is $life<br>";
}
meaningOfLife();
?>
</body>
</html>
5) 使用static
</head>
<body>
<?php
function addFive( $num ) {
$num += 5;
}
$orignum = 10;
addFive( &$orignum );
print( $orignum );
?>
</body>
</html>
结果:10
传址:funciton function_name(&$argument)
4) 基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组)
5) 特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量)
3、 操作符

php笔记

php笔记

1.echo:返回值是void,可以一次输出多个值,多个值之间用逗号分隔。

echo是语言结构(language construct)也就是关键字,而并不是真正的函数,因此不能作为表达式的一部分使用。

使用的时候不用加括号,加上也可以。

只支持基本类型,布尔型除外,echo true的时候显示1,echo false的时候啥都没有。

echo不可以输出数组类型;2.print:返回值是int,只可以同时输出一个字符串,一个参数,还需要圆括号,不支持逗号分隔多个显示变量的语法有返回值;当执行失败时返回flase。

print的用法和C语言相似,所以会对输出内容的%做特殊解释。

print能输出数组类型的数据;3.print_r:不仅可以打印变量的的值,还能显示变量类型,而且也可以显示数组和对象这样复杂的变量类型。

print_r()将把数组的指针移到最后边。

使用reset()可让指针回到开始处,print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头;4.printf:源于C语言中的printf()。

该函数输出格式化的字符串。

语法:printf("参数1",参数2):参数1=按什么格式输出;参数2=输出的变量。

(%s:按字符串;%d: 按整型;%b:按二进制;%x:按16进制;%X:按16进制大写输出;%o:按八进制; %f:按浮点型)。

占位符被插入%符号之后,由数字和"\$" 组成。

f=format:规定字符串以及如何格式化其中的变量;如下:printf("$%01.2f",43.2); //$43.20;$表示填充的字符;0表示位数不够在不影响原值的情况下补0;1表示输出的总宽度;%f则显示为一个浮点数;5.sprintf:此并不能直接输出,先赋给一个变量,然后再输出变量。

6. Yii框架具有高度的可重用性和可扩展性,是纯粹的面向对象的。

PHP学习笔记

PHP学习笔记

一、基础知识(1)PHP执行流程图(2)服务器的本地根目录位于apache的安装目录下的www文件夹中。

在本地把文件或文件拷贝到这个文件夹中,然后把这些文件夹或文件夹的权限改为755(sudo chomd –R 755 DirectoryName),远程用户就可以访问了。

(3)PHP编辑器有很多。

Dreamweaver具有纠错、标明、代码提示、整合等功能;另外还有一些有名的PHP编辑器,例如Zend Development Environment、PHP Designer、Komodo IDE。

学习PHP初期,使用Dreamweaver就够了,但是要针对PHP深入编程,最好用后几个。

(4)PHP和HTML语言可以互嵌。

例如:<html><head>Hello, world!</head><body><?php echo “Hello, world!”; ?></body></html>二、PHP程序设计基础1.基本语法(1)PHP的注释语句。

单行注释可以用“//”或者“#”放在该行的行首;多行注释可以在注释的开头用“/*”,结尾用“*/”。

(2)PHP的变量命名以“$”开始,“$”后面第一个字符是字母或下划线,可以包含字母、数字、“_”或“-”,不能包含空格,区分大小写。

(3)echo用来显示常量或变量的值。

一个echo语句可以显示多个变量的值,变量之间用逗号","隔开,也可以用"."把多个变量连起来再显示。

显示bool型变量时,若变量值为true,则显示1,;若变量值为false,则不显示任何东西。

(4)PHP定义变量不加类型名。

例如:<?php$var = 1; //整型$float = 3.14; //浮点型$boolean = true; //布尔型?>2.基本数据类型(1)PHP中没有char型,单个字符也是string型。

php学习笔记

php学习笔记

1. 基本语法要在HTML代码中嵌入PHP脚本的方法是在<?php ?>中书写代码。

向浏览器输出数据采用echo或者print函数。

echo可以接受多个参数,print 只能接受一个。

echo的形式是void echo(string arg1,[,…string argn]);PHP语法允许省略括号。

例如,复制代码代码如下:<?php$my =' my ';echo 'Hello',$my,'world'?>将会在浏览器上输出Hello my worldPHP 还支持一个和C语言很像的printf函数,例如printf(‘%d apples',100),将会输出100 apples。

sprintf的用法和printf一致,不过它不是输出到浏览器,而是返回一个字符串。

2.数据类型和变量PHP是弱类型的,一个变量不需要预先声明,也不需要指定类型。

PHP中变量是$加上变量名,PHP的变量是区分大小写的。

例如上例中的$my='my'。

PHP支持的变量类型包括:布尔型,整型,浮点型,字符串,数组和对象。

前四种很常用,也和其他语言类似,不多做介绍。

数组和对象后文具体介绍。

PHP中有函数来检测对象的类型,它们是getttype。

gettype返回一个string,它的值可以是array,boolean,double,integer,object,resource,string 和unknow type. PHP也支持显式的类型转换,语法和C类似。

转换操作符转换为(array) 数组(bool) (boolean) 布尔型(int) (integer) 整数(object) 对象(float),(double),(real) 浮点数(string) 字符串例如:复制代码代码如下:<?php$str ='a string';$num=15;$numstr='123.3';echo gettype($str),'<br/>';echo gettype($num),'<br/>';echo gettype($numstr),'<br/>';$numstr=(float)$numstr;echo gettype($numstr);?>输出结果为:stringintegerstringdouble还有函数可以用来判断一个变量是不是某种类型,例如is_array(),is_bool()等等,用法都类似。

PHP学习总结笔记

PHP学习总结笔记

一、PHP概述二、PHP基础三、面向对象思想四、面向对象的PHP五、字符串和正则表达式六、PHP专题相关七、PHP常用API分类汇总八、MVC框架及模板九、PHP网站部署及安全十、PHP网站常见模块(非框架版)十一、PHP网站常见模块(TP框架版)十二、用PHP+Mysql构造网站系统案例(详细设计文档)一、PHP概述PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web 开发。

和客户端的JavaScript 不同的是,PHP 代码是运行在服务端的。

使用PHP 的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。

PHP 主要是用于服务端的脚本程序,因此可以用PHP 来完成任何其它的CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookies。

但PHP 的功能远不局限于此。

PHP 脚本主要用于以下三个领域:∙服务端脚本。

这是 PHP 最传统,也是最主要的目标领域。

开展这项工作需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、web 服务器和web 浏览器。

需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。

如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。

请查阅安装一章以获取更多信息。

∙命令行脚本。

可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。

通过这种方式,仅仅只需要 PHP 解析器来执行。

这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。

这些脚本也可以用来处理简单的文本。

请参阅PHP 的命令行模式以获取更多信息。

我的php笔记

我的php笔记

我的php笔记PHP是一种开源的服务器端脚本语言,用于开发动态网站和Web应用程序。

1. PHP基本语法:- PHP代码必须包含在`<?php ?>`标签中。

- PHP代码可以嵌入到HTML中。

- PHP语句以分号结尾。

2. 变量:- 变量用来存储数据。

- 在PHP中,不需要提前声明变量的数据类型。

- 变量以`$`符号开头。

3. 数据类型:- 字符串(String):用引号括起来的一串字符。

- 整数(Integer):不带小数点的数字。

- 浮点数(Float):带小数点的数字。

- 布尔值(Boolean):表示真或假的值。

- 数组(Array):用于存储多个值的变量。

- 对象(Object):存储数据和函数的结构。

- 空(Null):表示变量没有值。

4. 运算符:- 算术运算符(+,-,*,/,%):用于执行基本的算术操作。

- 赋值运算符(=,+=,-=,*=,/=,%=):用于给变量赋值。

- 比较运算符(==,!=,<,>,<=,>=):用于比较两个值。

- 逻辑运算符(&&,||,!):用于组合多个条件。

5. 控制结构:- 条件语句(if-else,switch):根据条件执行不同的代码块。

- 循环语句(for,while,do...while):重复执行一段代码块。

- 分支语句(break,continue):跳出或继续循环。

6. 函数:- 函数是一段可重复使用的代码块,用于执行特定的任务。

- 可以通过定义和调用函数来组织和重用代码。

- 可以在函数中传递参数和返回值。

以上是PHP的一些基本知识点和语法。

要进一步学习和掌握PHP,可以参考PHP官方文档或相关的教程和示例代码。

PHP学习笔记

PHP学习笔记

PHP 学习笔记 先安装 Apache: 网站上输入:localhost 再安装 PHP\n 表示换行且回到下一行的最前端 \r 表示换行 \t 表示移至下一列: It works!1. 大小写敏感所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。

所有变量都对大小写敏感。

2. PHP 变量规则:    变量以 $ 符号开头,其后是变量的名称 变量名称必须以字母或下划线开头 变量名称不能以数字开头 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _) 变量名称对大小写敏感($y 与 $Y 是两个不同的变量注意:通常,当函数完成/执行后,会删除所有变量。

不过,有时我需要不删除某个局部变量,使用 static 变量声明。

3.整数可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)4.PHP 对象在 PHP 中,必须明确地声明对象。

首先我们必须声明对象的类。

对此,我们使用 class 关键词。

类是包含属性和方法的 结构。

然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型5.常量 1. 首个参数定义常量的名称 2. 第二个参数定义常量的值 3. 可选的第三个参数规定常量名是否对大小写不敏感。

默认是 false。

(true 是不敏感, false 是敏感)6.foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。

foreach ($array as $value) { code to be executed; }7.数组 在 PHP 中,有三种数组类型:  索引数组 - 带有数字索引的数组 关联数组 - 带有指定键的数组(键值对) 多维数组 - 包含一个或多个数组的数组关联数组:<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>8.PHP - 数组的排序函数     sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数组进行排序 arsort() - 根据值,以降序对关联数组进行排序 krsort() - 根据键,以降序对关联数组进行排序9.超全局变量:在一个脚本的全部作用域中都可用        $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION10. PHP 中->和=>的区别在 PHP 里面->和=>完全不同的,->用来引用对象的成员(属性与方法),=>只用来数组赋 值,11.函数定义public 关键字表示属性或方法是公开可见的,类内外都能调用;是类成员的一个修饰,规定 了类成员的权限。

php笔记

php笔记
9.类似if的一个用法 file_exists(aaa.txt) or die("文件不存在"); die()方法会使程序退出,不向下执行
10.自定义错误处理方器法,先定义处理错误的方法 function myError($errorNo,$errorMess){echo &errorNo." ".errorMess;}然后将定义的方法设置为默认处理错误的方法
session存放的默认路径为C:\Documents and Settings\Administrator\Local Settings\Temp,部分文件夹会被隐藏。修改session存放路径,修改php.ini中session.save_path即可
无论是存储还是获取session,都要先初始化。
14.将数据库查询的结果存到数组中$arr=new array(); while($row=mysql_fetch_assoc($res)){$arr[]=$row;}
15.cookie的使用,cookie可以以键值对的形式存储信息。使用setCookie("健","值",time()+3600);来创建cookie,第三个参数为当前时间加上3600秒,是在客户端保存的时间,按秒计算,如果不写第三个参数,则cookie不会保存。cookie只保存字符串类型的信息,不能保存对象。获取cookie方法$_COOKIE("键名");cookie保存的数据在2或3k,最好不要超,cookie默认保存的路径为C:\Documents and Settings\Administrator\Cookies,该文件夹为隐藏文件夹,在地址栏输入地址回车后可访问。获取cookie的方法$_cookie,该方法获取cookie的所有值,或$_cookie['健'],获取指定键的值。删除cookie,使用setCookie("健","",time()-1);所减去的时间大小不限,若所有的键值对过期,则该cookie文件会直接删除。cookie的密码可以加md5加密setCookie("健",md5(""),time()-1);但注意md5是不可逆的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Php笔记1.php基本语法1.定义一个变量要以$符号打头2.Php可以和html混用3.Php变量的数据类型是变化的4.Php区分大小写5.Php变量的名称要以下划线或字母打头,不能是数字2.php数据类型有哪些1.基本数据类型:整形小数型(单精度,双精度)布尔类型(表真和假)字符串2.复合数据类型:数组(array)对象(object)3.特殊数据类型:null资源类型(resource)3.整形的细节echo PHP_INT_SIZE; 输出int型所占空间echo PHP_INT_MAX; 输出int型的最大整数如果一个int整数超出范围,它会自动转换类型为float4.布尔类型的细节布尔类型就两个值:TRUE FALSE会当做假的值:false,整型0,浮点型0.0,空字符串,字符串“0”,null,空数组,没有任何元素的对象5.浮点数的细节浮点数的精度为14位(从左边开始,第一个非0数就是精度开始)6.字符串细节一个字符占用一个字节一个字符串类型理论上可以表示足够大,直到内存用完我们定义字符串的时候可以用‘’,也可以用“”区别案例:①$a=90$a1=”hello$a;$a2=’hello$a’;echo $a1; //会输出hello90echo $a2; //会输出hello$a②$a=”abcd\””; //会输出abcd”$b=’abcd\”’; //会输出abcd\”7.数据类型的自动转换var_dump(变量)//输出变量类型和变量值8.php的算术运算符+(加),-(减),*(乘),/(除),%(取余)++(自加),--(自减),+=(左加),-=(左减)*=(左乘),/=(左除),%=(左取余)9.比较运算符== //比较是否相等,值相等即可,不比较类型=== //值相等,类型也相等!= //值不等即可!== //值不等或类型不等< //小于> //大于>= //大于或等于<= //小于或等于10.逻辑运算符and 逻辑与(优先级低于=)or 逻辑或(优先级低于=)xor 逻辑异或!逻辑非&& 逻辑与(优先级比and高,也高于=)|| 逻辑或(优先级比or高,也高于=)11.三元运算符表达式1?表达式2:表达式3规则:如果表达式1的运算结果为真,则取表达式2的值,否则取表达式3的值12.字符串运算符连接运算符.案例:$a=”hello”;$b=$a.” world”;echo $b;//结果为hello world13.类型运算符基本语法:变量instanceof 类//变量是否为某一类,通常在面向对象开发时使用14.运算符优先级Php程序的三大流程控制1.顺序控制2.分支控制:单分支,双分支,多分支①单分支if(条件表达式){语句;语句;…}②双分支if(条件表达式){n多语句}else{n多语句}③多分支if(条件表达式){N多语句}else if(条件表达式){N多语句}else if(条件表达式){N多语句}else{N多语句} //else if 可以有很多个④switch语句switch(表达式){case 常量1:n多语句;break;case 常量2:n多语句;break;……case 常量3:n多语句;break;defual:n多语句;break;}//defual 语句可以有也可以没有常量的类型(int,float,字符串,布尔型)3.循环控制①for循环:for(循环初值;循环条件;步长){循环语句}②while循环:while(循环条件){循环语句}③do…while循环:do{循环体}while(循环条件)4.循环相关语句①break:结束当前整个循环,可以给一个数字表示退出到第几层循环②continue:结束本次循环剩余代码,重新开始新的一次循环,后可以接一个数字,表示从第几次循环重新开始③goto:通过goto语句我们可以将程序跳转到指定的地方去执行goto 标签;标签:语句;案例:goto a;echo ‘aa’;a:echo ‘bb’;//结果不输出aa,输出bb5.常量常量前面没有$符号常量用define()函数定义,而不能通过赋值语句常量可以在任何地方定义和访问常量一旦被定义就不能被重新定义或取消定义常量的值是标量(string,integer,float,boolean)常量在定义时,就需要赋初值常量的名称,一般全部大写,然后用下划线间隔案例:①define(“AX”,12);②const AX=12;//php5.3及以上echo AX;//结果输出12 echo AX;//结果输出12函数1.自定义函数的基本语法结构function 函数名(参数列表){函数体;return 语句;//主要用处是返回一个结果,这个可以没有}调用函数时要用指令:require ‘函数文件名’;2.php页面相互调用的知识点a.php页面要使用b.php定义的函数,可以使用的指令如下require (‘函数的文件名’);require ‘函数文件名’;$a=‘函数文件路径’;require $a;require 和require_once 区别前者遇到既包含文件,后者会判断是否已经包含过了,如果包含过了,则不会再包含文件include 和include_once:include(‘被包含文件’);include ‘被包含文件’;$a=‘函数文件路径’;include $a;include 和require 区别:前者如果出现错误,会继续执行,后者出现错误,会终止程序3.函数的深入使用函数的参数列表可以是多个,且数据类型可以是任意类型函数名命名不能以数字开头或者特殊字符函数名不区分大小写,这个与变量不一样自定义函数中的变量是局部的,函数外不生效使用global全局变量时,可使用函数外的变量为了防止全局变量的混乱使用可以用unset($var)删除一个变量在php函数中我们可以给某些参数赋默认值Php函数默认是值传递,如果需要地址传递可以使用&//给一个函数传递一个对象,实际上是传递的一个地址,数组是值传递4.位运算二进制:所谓二进制就是逢二进一,二进制只有两个数,易于电子方式的实现,同时通过0,1组合可以表示任意一个数原码、反码、补码二进制最高位是符号位,0表正数,1表负数正数的原码,反码,补码都一样负数的反码是原码的符号位不变,其他位取反负数的补码=负数的反码+10的反码补码都是0Php没有无符号数在计算机运算的时候都是以补码的方式来运算的位运算一览表:$a &$b 按位与,两位全为1,结果为1$a |$b 两位只要有一位为1,结果为1$a ^$b 一个为0,一个为1,结果为1~$a 0变1,1变0>> 算术右移,低位溢出,符号位不变,并用符号位补溢出的高位<< 算术左移,符号位不变,低位补0数组、排序、查找1.数组:可以用于存放多个数据的数据类型,数组就是关键字和值的集合2.数组创建:①$arr[0]=123;$arr[1]=12;$arr[34]=54;…….//$arr是数组名,[0]是关键字,$arr[0]是数组的一个元素,123表示$arr[0]元素对应的值②$arr=array(1.9,”hello”,89.3);③$arr[‘logo’]=”北京”;$arr[‘a’]=123;④$arr=array(“logo”=>”北京”,”a”=>123,4=>455);//如果我们创建数组时,没有给某个元素指定关键字,php就会自动的用目前最大的那个下标值(整数)加上1作为该元素的下标(关键字)//使用小数作为key将自动截断小数部分//我们可以用print_r($arr);或var_dump($arr);来显示数组情况//php的数组可以动态的增长3.php数组几个重要函数①count($arr);统计数组共有多少个元素②is_array($arr);判断是否为数组③$arr=explode(““,$str);将字符串$str按空格拆分为一个数组//使用unset()函数可以销毁某一个数组元素,单数组不会重建索引4.遍历数组:foreach($arr as $key=>$value){……}5.排序效率:冒泡排序<选择排序<插入排序法面向对象1.类和对象的区别和联系:类是抽象的,概念的,代表一类事物,比如人类,猫类……对象是具体的,实际的,代表一个实际事物类是对象的模板,对象是类的一个个体实例2.创建一个类:class 类名{成员属性;成员方法;构造方法;析构方法;}创建一个对象:$对象名=new 类名;或$对象名=new 类名();访问一个成员属性:$对象名->属性名;//如果一个文件专门用于定义类,则命名规范应当这样:类名.class.php3.成员方法(函数):当我们把一个函数写到某个类中,则该函数可以成为成员方法<?phpclass person{public $name;public $age;public function speak(){echo “我是一个好人!”;}}$p1=new person();$p1->speak();?>4.成员方法----细节成员方法的参数可以是多个方法可以没有返回值5.构造方法:class person{public $name;public $age;public function __construct($iname,$iage){$this->name=$iname;$this->age=$iage;}}$p1=new person(“小明”,20);echo $p1->name;//结果是小明//构造方法没有返回值,在创建新对象后,系统自动调用该类的构造方法//那个对象使用$this,就是那个对象的地址//若没有写构造方法,系统会自动生成一个构造方法(public function__construct(){})//构造方法的默认访问修饰符是public6.析构方法(函数):主要作用是用于释放资源(比如释放数据库的链接,图片资源…销毁某个对象)class person{public $name;public $age;public function __construct($iname,$iage){$this->name=$iname;$this->age=$iage;}function __destruct(){释放资源操作;}}$p1=new person(“小红”,13);$p2=new person(“小花”,15);//析构方法会自动调用//析构方法调用顺序是,先创建的对象后被销毁//析构方法何时被调用:①当程序(进程结束)退出时②当一个对象成为垃圾对象时,该对象的析构方法也会被调用,所谓垃圾对象就是指没有任何变量再引用它③在销毁对象前,系统自动调用该类的析构方法7.类变量(静态变量):所有的对象都共享一个变量->静态变量class child{public $name;public static $unm=0;public function__construct($iname){$this->name=$iname;}public function join(){self::$num+=1;(或child::$num+=1;)}}$child1=new child(“小明”);$child1->join();$child2=new child(“小红”);$child1->join();echo child::num; //结果为28.静态方法(类方法):类方法是属于所有对象实例的,其形式为:访问修饰符static 方法名(){}类方法不能访问非静态属性(变量),只能操作静态变量普通的成员方法既能操作静态变量,又能操作非静态变量在类外部:类名::类方法名或对象名->类方法名在类内部:self::类方法名或类名::类方法名9.面向对象的三大特征:封装,继承,多态1.访问控制修饰符public:表示全局,类内部,外部和子类都可以访问protected:表示受保护的,只有本类和子类可以访问private:表示私有的,只有类内部可以访问//方法没有访问修饰符,默认public//属性则必须指定访问修饰符2.想访问protected和private变量,通常的做法是提供public函数去访问这些变量也有通过一对__set() 和__get()方法来操作我们的变量3.继承:class stu{public $name;protected $age;private $grade;}class pupil extends stu{public function test(){echo “小学生考试”;}}class graduate extend s stu{public function test(){echo “研究生考试”;}}//继承只能继承父类的public/protected属性和方法//子类最多只能继承一个父类(直接继承)如果希望继承多个类的属性和方法,则使用多层继承//创建某个子类时,默认不会调用父类的构造函数//如果在子类中希望调用父类的构造方法或其他方法,可以这样处理①类名::方法名();②parent::方法名();//当一个子类的方法和父类的方法完全一样(public/protected),我们称为方法的覆盖/方法重写4.重载基本概念:函数名一样,通过函数的参数个数或者参数类型不同,达到调用同一个函数名,但是可以区分不同的函数<?phpclass A{public function test1($p){echo “传一个参数”;}public function test2($p){echo “传两个参数”;}function __call($method,$p){if($method==”test”){if(count($p)==1){$this->test1($P);}elseif(count($p)==2){$this->test2($P);}}}}$a=new A();$a->test(1);$a->test(12,14); //结果是输出传一个参数传两个参数?>//php5 默认不直接支持方法重载//php5 可以通过__call魔术方法,模拟一个方法效果的效果//一个对象调用某个方法,而该方法不存在,则系统自动调用__call 方法5.魔术常量:__LINE__ 文件中当前行号__FILE__ 文件的完整路径和文件名……6.方法重写/方法的覆盖(override)class animal{public $name;protected $price;function cry(){echo “不知怎么叫”;}}class dog extends animal{function cry(){echo “小狗汪汪叫”;}}class pig extends animal{function cry(){echo “小猪哼哼叫”;}}$dog1=new dog();$dog1->cry(); //结果是输出小狗汪汪叫//要实现重写,要求子类的那个方法的名字和参数列表个数一模一样,但是并不要求参数的称一样//如果子类要去调用父类的某个方法,可以使用parent::方法或父类名::方法//在实现覆盖式,访问修饰符可以不一样,但子类的访问范围>=父类的访问范围。

相关文档
最新文档