前置++是先将变量增加1,然后在将值赋值给原来的变量;
后置++是先返回变量的当前值,然后再将变量的当前值增加1.
28. 字符串运算符“.”与算术运算符“+”有什么区别?
当“a”“b”之间使用.时认为是连字符。如果两者间是+的时候php会认为是一次运算。
1)如果+号两边的字符串是数字组成的,那么会将字符串自动转为整型;
2)如果+号两边是纯粹的字母,那么会输出0;
3)如果+号两边的字符串是以数字开头的,那么会截取字符串开头的数字,然后进行运算。
29. 什么是三目(或三元)运算符?
根据一个表达式的结果在另两个表达式中选择一个。
例如: ($a==true) ? ''good'':''bad'';
30. 控制流程语句有哪些? 1:三种
程序结构 顺序结构、分支结构、循环结构
2:分支: if/esle/esleif/ switch/case/default
3: switch 需要注意的:
case子句中的常量可以是整型、字符串型常量、 或者常量表达式,不允许是变量。
同一个switch子句中,case的值不能相同,否则只能取到首次出现case中的值。
4: 循环 for while do...while
do...while 后面必须加入分号结尾。
while 和 do...while 的区别
5:break 和 continue 的区别。
break可以终止循环。
continue没有break强大,只能终止本次循环而进入到下一次循环中。
31. 数组的概念是什么?数组根据索引分为哪两种,如何区分?数组的赋值方式有哪两种? 数组是一个可以存储一组或一系列数值的变量(复合型变量)
索引数组(索引值为数字,以0开始)和关联数组(以字符串作为索引值)
数组的赋值方式有哪两种?
数组的声明方式主要有两种。
1.通过array()函数声明数组;
可以通过key=>value的方式分别定义索引和值,也可以不定义数组的索引下标,只给出数组的元素值。
2.直接为数组元素赋值,不需要调用array()函数。例如:
$arr[0] = 1; $arr = 2;
特别注意:
数组的下标如果是等价于整数的字符串值(但不能以0开头),则会被当作整数对待。
例如: $array 与 $array[''3''] 引用的是相同的一个元素,而 $array[''03''] 引用的则就是另外的一个元素了。
32.数组如何遍历? ①for循环
②foreach循环 ,这是最常用的遍历方式。用法如下:foreach($arr as $key=>$value){}
③list each 和while 配合起来循环
33. foeach数组的时候指针是如何指向的?
list()/each()/while()循环数组的时候指针如何指向的呢?
当foreach开始执行的时候,数组内部的指针会自动指向第一个单元。因为foreach所操作的是指定数组的拷贝,而不是该数组本身。而each()一个数组后,数组指针将停留在数组中的下一个单元或者碰到数组结尾时停留在最后一个单元。如果要再次使用each()遍历数组,必须要使用reset().
reset()将数组的内部指针倒回到第一个单元并返回第一个数组单元的值。
34. 如何计算数组长度(或者说计算数组中所有元素的个数)?字符串怎么取长度?
count() -- 计算数组中的元素个数。
可以使用count(数组名)或者count(数组名,1),如果有第二个参数,并且是数字1,则表示递归统计数组元素的个数。如果第二个参数是数字0,则等同于只有一个参数的count()函数。
sizeof() -- count() 的别名(count — 计算数组中的单元数目或对象中的属性个数)
字符串:strlen()— 获取字符串长度
mb_strlen()— Get string length
35. 数组中相关的常用函数有哪些?
1) count --(sizeof别名)— 计算数组中的单元数目或对象