20141223--全局使用局部变量+静态变量-02
2016-04-20 22:02
204 查看
数据类型判断
作用
判断用户提交的数据,判断数据的有效性,是否符合指定的数据约束(规范)。判断方式
所有的数据类型的判断,都是通过函数来实现。函数都是以is_开始,后面跟对应的数据类型。 所有的函数的返回值都是布尔类型:如果是对应的类型返回true,否则返回false is_bool:判断是否是布尔类型 is_float:判断浮点型 is_integer:判断整型 is_object:判断对象 is_array:判断数组 is_string:判断字符串 is_resource:判断资源 is_scalar:scalar是标量的,判断是基本数据类型:整型,浮点型,布尔型和字符串型 is_null:是否为空 is_numeric:判断数字或者纯数字组成的字符串 标量判断![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220120038-1096833858.jpg)
数值判断
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220121538-228393658.jpg)
gettype:获得数据类型 settype:改变数据类型
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220122945-1779957858.jpg)
数据类型转换
将数据的类型转换成指定的需要的数据类型。 php是一种弱类型语言。因此在php中有两种方式能够修改数据类型:自动转换和强制转换。自动转换
系统根据自己的需求,将不合理的数据类型转换成需要的数据类型。不需要用户(代码)做任何额外的事情。 if条件一定是布尔类型,但是程序所给定的表达式的结果不一定是布尔类型,系统就会自动转换。 碰到一些指定的运算符的时候,也会出现自动转换。![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220124945-306785706.jpg)
字符串转数值规则 1. 从左边开始碰到第一个不为数字或者小数点的字符截止 2. 如果第一个字符不是数字或者小数点,那么该字符串结果是0 3. 只能读取最多一个小数点
强制转换
用户通过代码强制的去将某个数据的数据类型转换成目标数据类型。 settype:就能够强制的转换数据类型。 语法二: (数据类型)变量 int,integer:整型 bool,Boolean:布尔 float:浮点 string:字符串 array:数组 object:对象![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220126538-882765640.jpg)
php变量的复制:写时复制 $a = 100; $b = $a; //值传递 //全局区中只有一个数据:100 $b = 50; //修改变量:写 //系统会自动的将原来只有一份100,变成两份100,并且修改其中一份b为50
文件包含
1. 什么是文件包含? 字面意思是一个文件中包含另外一个文件,希望对应文件的内容可以在当前文件中被使用。意义
布局 将界面结构中部分被重用的结构部分抽离出来形成单独的文件,然后在每一次需要使用该部分结构的时候,将对应的代码给包含进去。![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220128820-306478465.jpg)
优点:节省工作量,方便修改(提升维护效率) 代码重用 将代码中需要共用的部分代码(函数)抽离出来,形成对应的函数文件(php),然后在需要使用的地方加载当前文件,从而可以实现代码的重用。
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220131038-1404642372.jpg)
文件包含
php通过某种语法,将一个对应php(不一定是php文件)文件中内容(php代码)加载到一个需要使用该代码的php脚本中,从而形成脚本的代码的一部分,帮助脚本正常工作。 语法:有两套文件包含方式 include:include ‘文件名字’ / include(‘文件名字’) require:require ‘文件名字’ / require (‘文件名字’)![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220132866-2093495091.jpg)
文件包含逻辑
文件可以被包含:文件包含语句属于执行性语句,符合代码的逐行执行条件,顺序执行。被包含文件是独立编译,但是可以实现数据共享。![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220134679-841304119.jpg)
文件重复包含
include_once/requrire_once:对一个文件进行多次包含的时候,只会包含一次。![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220136570-947299632.jpg)
require和include区别
都是包含文件,都是独立编译。 区别在于require一定会去包含对应的文件,如果文件不存在那么会导致致命错误,从而导致代码不再继续执行。 include会尝试去包含文件,如果不存在,会给一个错误提示,但是不影响后续代码的继续执行。![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220139507-1035214707.jpg)
注意:文件包含可以是为了使用被包含文件里面的内容而包含,也可以是为了让被包含文件使用当前文件里面的内容而包含。
被包含文件可以不是php文件
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220143257-1323439757.jpg)
文件路径管理
文件路径分为两种:绝对路径和相对路径 绝对路径:文件相对磁盘根目录开始的路径(URL) 相对路径:与当前文件相对应的路径(以当前文件为参照点) 文件的包含可以使用任意一种文件路径:建议使用绝对路径。 绝对路径包含![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220145632-2136739448.jpg)
相对路径包含
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220147351-380586709.jpg)
相对路径: 什么都不用表示当前文件相对路径 ./:表示当前目录 ../:上级目录 /:网站根目录 PHP在包含文件的时候,如果存在嵌套好办,那么文件的相对路径会发生改变,但是绝对路径不会改变。
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220153726-1195327512.jpg)
绝对路径没有相对路径速度快,如果在项目中能够确定不存在文件包含嵌套或者有嵌套但是不会影响相对路径的时候,可以使用相对路径进行文件包含。
脚本终止
让当前指定位置的代码之后的代码不再执行。为了调试错误。 php中有三种终止方式:exit,die和return exit与die一致:都是语法结构 语法:exit;/exit();/die;/die(); 表示代码执行到该处时候结束执行,如果有输出则输出 return:用在函数中代表返回值,表示当前函数执行到return语句的时候,不再向下执行函数体,直接回到函数调用处。 如果在脚本中出现,代表当前脚本执行终止:return依然代表返回值,数据是返回给文件被包含处。![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220156663-1047853504.jpg)
return在文件中有这么一个特性:能够将文件中的数据传递给另外一个文件。通常会利用这个特性做系统的配置文件。
![](https://images2015.cnblogs.com/blog/897569/201604/897569-20160420220158445-313027037.jpg)
作业 1. 完善空心菱形作业 2. 九九乘法表:函数定义在一个文件,调用在另外一个html文件中(文件包含) 3. 函数实现斐波那契数列
相关文章推荐
- 网络通信解析
- 前端开发必备 - Emmet
- TransR/CTransR论文:链接预测
- javascript中的Left,Top,W 4000 idth,Height等相关属性汇总
- 快速排序(Quicksort)的Javascript实现
- windows下批量读取文件夹及子文件夹下的文件名字,方便制作训练样本
- 今天是我的第一次在github上发表博文 3ff8
- crossdomain.xml 文件安全配置 百度云观测、360网站监测 dz论坛crossdomain.xml
- sqlite3函数sqlite3_exec
- 数据库(二):高级检索
- Refactoring with Solr
- Java线程:Condition-线程通信更高效的方式
- 从头认识多线程-1.17 守护线程setDaemon()
- Java开发和运行环境的搭建
- 十进制数转化成N进制数(java实现)
- 自己给自己催眠
- 【一天一道LeetCode】#22. Generate Parentheses
- 【一天一道LeetCode】#22. Generate Parentheses
- java并发-Callable与Future
- OkHttp深入学习(四)——0kio