PHP自学笔记详细版本(一)

来源:互联网 发布:asp企业网站源码下载 编辑:程序博客网 时间:2024/06/06 21:42

PHP自学笔记详细版(一)


一、变量(弱类型)
1.1 定义
$value = 整型/浮点型/字符串/BOOL/变量
例如:
$value1 = 100;
$value2 = 100.01;
$value3 = "Hello PHP";
$value4 = "TRUE";
$value5 = $value1;
1.2 命名(与C/C++ 等语规则相同)
1.3 可变变量
$value = "Tom";
$$value = "Sister";
echo "$value";==>输出 Tom
echo "$value's $Tom";==>输出 Tom‘s Sister
echo "$value's ${$value}";==>输出 Tom‘s Sister
注意:
$value = "Tom Cat";
$$value = "Cry";
echo "$$value";==>输出 Cry
echo "${Tom Cat}";==>错误,因为变量名是不能有空格的
1.4 引用
引用,直白的说就是可以将一个变量的地址映射到不同的变量对应的指针上。
达到多个变量可以修改同一块内存。
例如:
$val = "CSDN:sjlwtf";
$foo = &$val;
echo "$val <br /> $foo <br />"// val 和 foo 都是 CSDN:sjlwtf
$foo = "sjlwtf";
echo "$val <br /> $foo <br />"// val 和 foo 都是 sjlwtf

注意:
引用只能引用变量

1.5 类型
四种标量类型:整型,浮点型,字符串
两种复合类型:数组,对象
两种特殊类型:资源,NULL
整型,浮点型,字符串,对象,NULL 与C/C++ 类似,这里不做总结

数组:
两种定义方式
普通:下标(key) 为0,1,2,3,4,5,6,7,8....... 
$arr = array("sjlwtf","hello","PHP");
$arr1 = range(1,10);//数组元素1-10
关联型:我们可以自己定义下标,
$arr2 = array("song"=>1,2=>"jiu","lin"=>"WTF");
看似复杂,其实很简单:
arr2["song" ] 的值就是 1
arr2[2] 的值就是 "jiu"
arr2["lin"]的值就是“WTF”
资源:
因为PHP是弱类型语言,我们只有知道一个变量被什么类型的值赋值,才能判断出这个变量的类型。
例如:
$val// 这是什么类型?我也不知道
$val = 100;// 因为 100 是整型,所以$val是整型以此类推
$val = fopen("sjlwtf.txt","wb");// val 就是一个文件资源类型,这里要和C/C++区分
1.6 类型转换
1.6.1 自动类型转换
BOOL和NULL可以自动转换成整型或者是浮点型
字符串可以自动转换成整型或者是浮点型
$var = “100h”;
$var += 1;//var 为 101 依次类推
1.6.2 强制类型转换
整型:(integer)/(int)---> $var = (int)100.12
布尔:(bool)(boolean)---> $var = (bool)-1;
浮点:(float)(double)(real)
字符串:(string)
数组:(array)
对象:(obejict)

1.6.3 类型判断函数
is_xxx($var);是XXX类型返回true,不是返回false;
is_int();
is_bool();
.....
1.7 常量
1.7.1常量的定义
<span style="white-space:pre"></span>boolean define(string name,mixed value [,bool case]);
case :true ,不区分大小写;false,区分大小写
可省略,默认是false
define("ANDO_CURRENT",1002);
1.7.1预定义常量
__FILE__文件
__LINE__行号
__FUNCTION__函数
__CLASS__
__METHOD__方法名
1.8 运算符
这里只总结比较特殊的运算符
1.8.1 点号  .    运算符
$var = "sjlwtf";
echo "helloWorld ".$var." Come"; //helloWorld sjlwtf Come
1.8.2  <> 就是 !=
1.8.3 数组 + 运算符
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b;====> apple,banana,cherry
$c = $b + $a;   ====>pear,starwberry,cherry
注意:数组的加运算是不能覆盖被加的数组,只能追加
1.8.4 ==  和 ===
非数组情况:== 只是比较两个值得大小,===要比较类型
$val = 0;
$val == "0";//true
$val === '0';//false
数组情况:== 在key值顺序相同时,只比较value , === 是完全比较
$var1 = array(1,2);
$var2 = array("1"=>1,2=>"2");
$var1 == $var2;//true
$var1 === $var2;//false
1.8.5 逻辑运算符(完全与其他语言一样)
1.8.6 其他运算符
执行运算符:`ls -al`  tab键上面的单引号,直接执行命令
错误控制符:@表达式这个表达式的错误会被忽略
数组指定符:key=>value
成员访问符:对象->成员
类型运算符:对象instanceof类


















0 0
原创粉丝点击