进制转换:
dec十进制 bin二进制 oct八进制 hex十六进制
十进制转二进制:decbin() 除2取余倒着写
十进制转八进制:decoct() 除8取余倒着写
十进制转十六进制:dechex() 除16取余倒着写
二进制转十进制:bindec() 每位数值乘2的权值相加
八制转十进制:octdec() 每位数值乘8的权值相加
十六进制转十进制:hexdec() 每位数值乘16的权值相加
注:十进制转为其他进制结果是字符串,其他进制转为十进制要求给定数据是字符串形式
思考: bindec(123);
bindec(0123);
bindec("0123");
octdec(0123);
输出: 1
0
1
3
浮点类型:flaot double real
$v1=1.234;
$v2=1.234E3;//含义:1.234*10^3=1234,带E的形式就是浮点数
$v3=1234E3
10进制小数转2进制小数的做法:乘2并顺序取整数部分
注:浮点数不应该直接比较大小
通常的做法是:乘以10的精度位数次方
字符串类型 string
var str1='单引号字符创';
var str2="双引号字符串";
转义字符:\n \r \t \v \e \f \\ \$ \"
\[0-7]{1,3} \x[0-9A-Fa-f]{1,2}
nowdoc(单引号)定界符:
$str=<<<'ABCD'
这里是字符串内容
ABCD;//这里不能有空格
heredoc(双引号)定界符:
$str=<<<"ABCD"
这里是字符串内容
ABCD;//这里不能有空格
布尔类型:bool boolean
常见的语法形式:if(某数据/变量){
......
}
在PHP中隐含转换为布尔值的当作false的有:
0 0.0 null "" "0" array(); 未定义的变量
数组遍历
foreach(数组名 as 下标变量$k=>值变量$v){
循环体;
}
数组类型 :object
通常js中的对象有自定义的也有现成的,比如window,location,标签对象。PHP中的对象,通常都是指自己定义的对象,纯语法的
资源类型:resource
基本上都是指对外部数据的引用(数据非PHP代码生成的)
空类型:null
没有存数据或没有存有效的有意义的数据
类型转换
自动转换
强制转换:
$v1=(int)7.8; $v2=(float)$v1; echo "$v1,类型为:".getType($v1); echo "$v2,类型为:".getType($v2);
var_dump();输出一个变量的完整信息 getType();获取一个变量的类型名称 setType();设置一个变量的类型 isset();判断一个变量是否存在数据 empty();判断一个数据是否为空 unset();销毁(删除)一个变量 is_XX类型()系列函数;判断是否为某种类型,包括: is_int() is_float() is_numeric() is_bool() is_array() is_scalar()
运算符:
- 算术运算符:+ - * / % ++ --
- 自增自减运算符
前++和后++的区别:
前++:先完成变量的递增运算,再取得该变量的值参与别的运算
后++:先将原来的变量的值临时存储,再将变量值递增,最后再将临时存储的值参与别的运算
比较运算符:
>,>=,<,<=,==,!=,===,!==
字符串中的比较规则:按字符的先后顺序一个一个比较,发现哪个大就代表整体大,后续字符不再比较
逻辑运算符:
&& || !
数组运算符:+
错误控制运算符:@$v1=array(1,2,3,4); $v2=array(5,6,7,8,9); $r=$v1+$v2;//输出array(1,2,3,4,9)
循环中断:$link=@mysql_connect("localhost","root","123456")or die("数据库链接失败"); var_dump($link);
1.break中断:中断整个循环语句,而跳出循环进入到循环结构之后的语句
2.continue中断:终止当前正在执行的循环体中的语句,而进入到循环的下一次过程里
goto语句:
注: 1.不能跳入循环中goto 标志符1; ...语句; 标志符1: ...语句; 标志符2: ...语句; goto 标志符2;
2.不能跳入函数中
3.不能跳出函数外
4.不能跳出文件外
控制脚本执行进度:die("输出内容");
含义:终止PHP脚本运行(后续代码不再执行)并输出其中内容
sleep($n);
含义:让PHP脚本停止$n秒钟,然后继续执行