《PHP和Mysql web 开发》读书笔记(一)php快速入门
本系列主要结合《PHP和MYSQL WEB开发 第四版》,在阅读中提出自己认为比较重要的一些问题,以加深对知识的了解程度。
1、简短、中等以及冗长风格的表单变量
$name; //简短风格,不安全$_POST['name'],$_GET['name'],$_REQUEST['name'], //中等风格$HTTP_POST_VARS['name'] //冗长风格,已经抛弃。
2、php字符串中的单引号、双引号、heredoc以及nowdoc
(该部分内容主要参考http://php.net/manual/zh/language.types.string.php)
一个字符串可以用 4 种方式表达: 单引号、双引号、heredoc、nowdoc.
单引号:定义一个字符串的最简单的方法是用单引号把它包围起来(字符')。
<?php $name = 'MyName';echo <<<EOTMy name is "$name".EOT;//注意结束标识符的前面必须是个被本地操作系统认可的换行。?>
PHP跨平台,因为是解释执行的,在各类平台下都可以执行,分别由相应平台的PHP软件(解释器)来执行你编写的PHP程序。(摘自百度)
php的解释器有多个操作系统的多个版本,多的偶都叫不出来名字,凡是有解释器的操作系统你写的php程序就可以运行,不论你是在windows还是linux下写的
4、php数据类型介绍
(该部分主要参考http://blog.csdn.net/jt521xlg/article/details/7528592)
其实该部分一个主要的疑问点在此:php是跨平台的语言,那么其integer型的数据长度会依赖于机器内存?
在参考文献中,罗列了以下一些数据类型:
类型名称 类型表示 取值 bool 布尔型 true,false integer 整型-2147483647-2147483648 (2^31-1) string 字符串型 字符串长度取决于机器内存 float 浮点型 最大值1.8e308 object 对象通过new实例化 $obj=new person(); array 数组类型 $arr=array(1,2,3,4,5,6);//一维数组 resourse null 空值 null
参考文献中关于整型有这么一句话:“整型的范围-2147483647--2147483647 ,如果超过该值会自动转换成float型。我们可以使用echo PHP_INT_SZIE 输出integer的字长,和机器有关。echo PHP_INT_MAX 输出integer的最大值”。通过这句话,并且结合问题3,我们可以这样理解,其实整型的范围还是跟机器有关的,并且这种思想跟跨平台是不冲突的,因为php的跨平台是靠多个解释器来实现的。(如该句话中给出的应该是-2147483647--2147483647,只能说明当前机器为32位的机器,当超过最大值2147483647,只是自动转换成float)。
5、php常量跟变量的区别、传值与传地址的区别
有关变量的知识,可以参见我之前的文章:http://blog.csdn.net/zhanglvmeng/article/details/11920323
6、比较操作符:等价操作符==与恒等操作符===
有关这一部分的知识,可以参见我之前的文章:http://blog.csdn.net/zhanglvmeng/article/details/11927587
7、错误抑制操作符(@)、执行操作符(` `)、类型操作符(instanceof)
有关操作符的问题可以参见我之前的文章:http://blog.csdn.net/zhanglvmeng/article/details/11921033。其中还讲述了错误抑制操作符执行效率慢的原因
8、PHP中echo(),print(),print_r()的区别
echo ,print的区别在于echo 可以输出多个变量值,而print只有一个变量,做为一个字符串输出. 另一点区别在于echo 没有返回值,print有返回值1.print不能输出数组和对象。
具体信息可以参见我之前的博客:http://blog.csdn.net/zhanglvmeng/article/details/11950315
9、变量状态isset/unset/empty() 对比:
这是我之前转发的一篇文章,不错。http://blog.csdn.net/zhanglvmeng/article/details/11928469
empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。
当要 判断一个变量是否已经声明的时候 可以使用 isset 函数 【注意:isset是看是否设置了,设置了为true,未设置为false,不要搞反了。】
当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数
当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数
10、 Break:跳出循环,执行循环之后的第一句 continue :跳出本次循环,执行下一次循环 exit:结束整个PHP脚本的执行