一、echo,print(),printf(),print_r(),var_dump(),sprintf()区别
- echo是一个语句,其他的是函数,echo可以输出多个值,效率高
- print只可以输出一个值,注意的地方,print有返回值(正常输出的话会返回1)
- printf是格式化输出(%d,%f,%s)
- print_r输出数组或者字符串
- var_dump()调试的时候比较常用,输出变量的相关信息
- sprintf()将格式化输出后的整个内容化为一个字符串
二、标识符的定义规则
- 标识符的定义只能用字母、数字、下划线
- 标识符只能以字母、下划线开头
- 标识符区分大小写
- 由多个单词组成时应用下划线分割
- 标识符的定义不可用php中预定义关键字
三、常量的两种定义方式
define("PI",3.1415926);
const PAI = 3.1415926;
echo PI."----".PAI;
四、php中的三中数据类型
- 标量数据类型(float浮点型,integer整型,boolean布尔型,string字符串)
- 复合数据类型(array数组,object对象)
- 特殊数据类型(resource资源,null空)
五、boolean(false,true);
false:0 , 0.0 , array() , " " , null;
除了上边这些其余都是真
六、函数:自定义函数、内置函数;
七、值传递和引用传递的区别:
(1)值传递:传递的是值的副本。函数范围内对值的任何改变在函数外部都会被忽略。
(2)引用传递:传递的是值的内存地址。函数范围内对值的改变在函数外部会发生改变。
优缺点:按值传递,php必须复制值。特别是对于大型的字符串和对象来说,复制一份也占用内存,这将是一个很大的代价。按引用传递则不需要复制值,对于提高性内来说很有好处。
八、全局变量和局部变量
九、在函数中如何使用全局变量
十、注意形参默认值的顺序,必须放在非默认参数的右边。
function sum($b,$a=10){
return $a+$b;
}
echo sum(15);
十一、局部静态变量和局部变量的区别
局部静态变量只初始化一次,常驻内存不会被销毁直到服务关闭。而局部变量只在语句块中使用,生命周期只在语句块中。
function a(){
$i = 1;//局部变量
echo ++$i;
}
a();
a();
a();
echo '<hr>';
function a1(){
static $i = 1;//局部静态变量
echo ++$i;
}
a1();//2
a1();//3
a1();//4
a1();//5
十二、匿名函数(又叫闭包函数),是指没有名称的函数