1、PHP的内置结构,关键字,函数名,类名都是不区分大小写的,变量是区分大小写的。
2、注释的分类,C风格注释,C++风格注释,Shell风格注释,不要尝试嵌套注释。
3、PHP的变量名由大小写字母或者下划线开头
4、定义常量
define("NAME","VALUE");
eg:define("TIME_STAMP","23:59:59");
5、变量类型:
四种标量类型:整型,浮点型,字符串型,布尔型
二种复合类型:数组,对象
二种特殊类型:资源,NULL
整型的范围:-2147483648~2147483647
整型的表示:十进制,八进制,十六进制
eg:-21,35,021,0x15
浮点数的范围:1.7E-308 ~ 1.7E+308
浮点数的精确度:精确15位
字符串类型:如果其中含有变量,用双引号,双引号中的内容解析。如果用单引号,则不解析
字符串中含有特殊字符的时候,如\ ' "等,用 \\ \' "进行转义 ,判断两个字符串是否相等,可直接用==
布尔类型:布尔类型中为假的值有:false,整型0,浮点型0.0,空字符串,字符串“0”,没有元素的数组,没有值的对象,NULL。
一个布尔类型不是真就是假
数组类型:
$person[0] = "Amy";
$person[1] = "Tom";
$person[2] = "Bob";
$person = array("Amy","Tom","Bob");
$person['fisrt']="Amy";
$person['second']="Tom";
$person['third']="Bob";
$person = array("first" => "Amy" , "second" => "Tom" , "third" => "Bob");
sort()函数是按值来进行排序
遍历数组:
foreach($person as $name):
echo $name."<br />";
endforeach;
foreach($person as $rank => $name):
echo $rank.":".$name."<br />";
endforeach;
资源类型:资源是一个整形,它是为了方便对内存的管理,当销毁资源的时候,将释放所有内存,关闭所有连接
$link = database_connect();
database_query($link);
$link = "other";//销毁资源
也可以利用函数的作用域来销毁资源,更常见的是通过一些函数显式的销毁资源
NULL类型:表示没有值
6、判断类型的函数:
判断是否是整数:is_int(),is_interger()
判断是否是浮点数:is_real(),is_float();
判断是否是字符串:is_string()
判断是否是布尔类型:is_bool()
判断是否是一个数组:is_array()
判断是否是一个对象:is_object()
判断是否为一个资源:is_resource()
判断是否为一个NULL类型:is_null()
7、变量
PHP是一个弱类型语言,且没有显示的语句来声明变量,第一次用这个语句的时候,这个变量就被声明了
可以将一个变量的名字作为另一个变量的值
eg:
$test1 = "test2";
$test1 = "test3";
变量的引用
$a = "Hi";
$b =& $a;
引用之后,b成为a的别名
改变其中一个,两个值都改变,unset()其中一个,另一个不受影响
8、变量的作用域
局部作用域,全局作用域,静态变量,函数参数
局部作用域:PHP只有函数能够提供局部作用域
全局作用域:在函数中要想访问全局变量的方法有两种
1、global $var_name;
2、$GLOBAL['val_name'];
静态变量:static
函数参数:只在函数内部有效
9、写时复制和引用计数
写时复制是为了在复制的时候节约内存,首先应该理解符号表的意思。
当我们将一个数组赋值给另一个数组,这时候数组还没有复制,只是将变量名通过符号表映射到同一块内存区域,只有当修改其中一个数组的时候才进行复制,大多数情况下节约了内存
引用计数是为了进行对资源的回收
引用计数表示取得同一块内存的途径的数目,当引用技术减少到零时,内存被回收
用isset()函数来看一个变量是否被设置值或者是否为空函数
用unset()来移除一个变量赋值
10、操作符
<>,!=表示不等于
===表示值和类型都相同
!==表示值或类型不相同
!逻辑非
and,&&表示逻辑与
or,||表示逻辑或
xor表示逻辑异或(相异为true---一个true,一个false,相同为false---两个false)
&按位与
|按位或
^按位异或
~按位取反
>>左移位
<<右移位
@表示屏蔽错误信息
11、对象与数组类型的转换
将对象转换成数组时,对象属性名称和对象属性值分别变成了数组的键和值
将数组转换成对象时,数组的键和值分别变成了对象的属性名称和属性的值
12、流程控制语句中
if/switch语句
while语句
do...while语句
for语句
foreach语句
13、declare语句
只有一种形式,就是通过tick来指定代码块运行的频率
register_tick_function("function_name");
declare(ticks = number)//表示函数执行的频率,每几次简单语句之间执行一次
{
for(...;...;...)
{
}
}
14、文件包含
include语句和require语句
使用include语句,当文件不存在的时候,将给出一条警告信息
使用require语句,当文件不存在的时候,将产生致命错误,脚本将不会解析
include 'file.html';
include 'file.inc';
当将php.ini中 allow_url_fopen开启的时候,可以包含远程文件
include 'http://www.example.com/file.inc';
通常情况下包含的页面代码用.html,包含的库用.inc。因为包含远程包含文件的时候若为.php结尾,那么得到的是运行结果。
我们用require_once和include_once来防止文件重复包含
PHP学习笔记(1)
最新推荐文章于 2023-08-18 21:03:31 发布