print():类似echo,本质是一种结构(非函数),返回1,可以不需要括号;
print_r():类似var_dump(),但更简单,不会输出数据类型,仅输出值(多用于数组打印);
date():按照指定格式处理时间戳返回时间;
time():当前时间的时间戳;
microtime():微秒级别的时间;
strtotime():按照规定格式的字符串转换成时间戳;
max():最大值;
min():最小值;
rand():随机数;
mt_rand():同rand(),效率更高;
round():四舍五入;
ceil():向上取整;
floor():向下取整;
pow():求指定数的指定指数次的值;
abs():绝对值;
sqrt():求平方根;
function_exists():判断函数名字在内存中是否存在,避免使用不存在的函数,安全性更高;
func_get_arg():自定义函数中获取指定数值对应的参数;
func_get_args():在自定义函数中获取所有参(数组);
func_num_args():获取当前自定义函数的数量;
strlen():字符串长度;
implode():数组转字符串;
explode():字符串拼接数组;
str_split():按照指定长度拆分字符串得到数组;
trim():去除字符串两边的空格或者内容;
ltrim():去除左边的;
rtrim():去除右边的;
substr():指定位置开始截取字符串,可指定截取长度;
strstr():指定位置开始,截取到最后;
strtolower():全小写;
strtoupper():全大写;
ucfirst():首字母大写;
strpos():判断字符在字符串中首次出现的位置;
strrpos():判断字符在字符串中最后出现的位置;
str_replace():替换字符串;
str_repeat():重复字符串;
str_shuffle():随机打乱字符串;
printf()/sprintf():格式化输出数据;
sort():顺序排序(下标重排);
rsort():逆序重排;
asort():顺序排序(保留下标);
arsort():逆序排序;
ksort():顺序排序(按下标排序);
krsort():逆序排序;
shuffle():随机打乱数组元素,下标重排;
reset():重置指针(回首位:如0);
end():重置指针(到末位);
next():指针下移,取得下一个元素的值;
prev():指针上移,取得上一个元素的值;
current():获得当前值;
key():获得当前下标;
count():统计数组中元素的数量;
array_push():数组中加入一个元素(末尾);
array_pop():数组中取出一个元素(末尾);
array_shift():数组中取出一个元素(头部);
array_unshift():数组中加入一个元素(头部);
array_reverse():数组元素反转(下标不变);
in_array():判断元素在数组中是否存在;
array_keys():获取数组下标,返回索引数组;
array_values():获取数组值,返回索引数组;
语法错误;运行错误;逻辑错误;
E_PARSE:编译错误,代码不执行;
E_ERROR:fatal error,致命错误,出错处断掉;
E_WARNING:warning,警告错误,不影响执行,但可能得到意外结果;
E_NOTICE:notice,通知错误,不影响执行;
E_USER_ERROR;E_USER_WARNING;E_USER_NOTICE;
用户使用自定义错误触发的时候会使用;
代表所有从错误(通常在进行错误控制的时候使用较多),建议开发环境使用;
Display_errors,是否显示错误;
Error_reporting,显示什么级别的错误;
Error_reporting,设置对应错误显示级别;
Ini_set(‘配置文件的配置项’,配置值//‘error_reporting’,E_ALL//‘display_errors’,1);
关键字array:$arr=array(a,b,c);
中括号[ ]包裹:$arr=[a,b,c];
隐形定义:变量加一个[ ],自动变数组;[ ]中加内容则为下标key;
索引数组:数组下标为整数;
关联数组:数组下标为字符串;
混合数组:不同下标混合;
数组元素的顺序以放入顺序为准,无关下标;
数组下标自增长,从0开始,若出现较大的,则其后的自动n+1;
特殊值下标的自动转换:布尔值true和false,空null;
数组元素没有类型和长度限制;
数组元素是数组;
数组元素都是一维数组;
Foreach($数组变量 as [$下标 =>] $值){
//通过$下标访问元素的下标;通过$值访问元素的值
}
通常:如果是关联数组(字母下标),就需要下标,如果是数字下标就直接访问值
在进行数据存储定义的时候,通常二维数组不会两个维度的key下标都为数字,一般是一维为数字(无意义),二维为字符串(数据库表字段),所以在进行遍历的时候,通常是只需要针对一维进行遍历,取得二维数组元素,然后二维数组元素通过下标去访问。
ps:
$arr = array( 0 => array(‘name‘ => ‘tom‘,‘age‘ => 20), 1 => array(‘name‘ => ‘jarry‘,‘age‘ => 18), ) foreach($arr as $value){ echo ‘name is : ‘,$value[‘name‘],‘and age is : ‘,$value[‘age‘],‘<br/>‘; } //name is : tom and age is : 20 //name is : jarry and age is : 18
本质是数组的内部有一颗指针,默认是指向数组元素的第一个元素,foreach就是利用指针去获取数据,同时移动指针。
1、 foreach会重置指针:让指针指向第一个元素;
2、 进入foreach循环:通过指针取得当前第一个元素,然后将下标取出放到对应的下标变量$k中(如果存在),将值取出来放到对应的值变量$v中;(指针下移)
3、 进入到循环内部(循环体),开始执行;
4、 重复2和3,直到在2的时候遇到指针取不到内容(指针指向数组最后)
$arr = array(1,2,3,4,5,6,7,8,9); for($i = 0,$len = count($arr);$i < $len;$i++) { echo ‘key is : ‘,$i,‘ and value is : ‘,$arr[$i],‘<br/>‘; } //key is : 0 and value is : 1 . . . . . .
是一种结构,非函数;
批量为变量赋值;值来源于(索引)数组;
原文:https://www.cnblogs.com/liwei101282/p/13334171.html