数组的遍历
1
2
3
4
5
6
| foreach($array as $v){
//第一种
}
foreach($array as $k=>$v){
//第二种
}
|
系统全局数组
$_REQUEST
通过$_GET
和$_POST
提交的数据都可以用它获得
$_SERVER
保存一些服务信息资料,如主机ip等
数组操作函数
指针获得键值与键名
1
2
3
4
| key($arr); //返回数组当前单元的键名
current($arr); //返回数组当前单元的键值
next($arr); //将指针移动到下一单元
prev($arr); //将指针移动到上一单元
|
检查数组
数组中的元素个数
检查数组中时否存在某个值
检查数组是否有某个键名
1
| array_key_exists(键名,数组);
|
array_filter函数
用回调函数过滤数组中单元,如果回调函数返回false会删除对应元素的键值,返回true则会保留。键名都会保留
1
2
3
4
5
6
7
8
9
| $arr = array('苹果','西瓜','鸭梨','芒果');
$re = array_filter($arr,'foo');
print_r($re);
function foo($v){
if ($v=='西瓜') {
return false;
}
return true;
}
|
array_map函数
用回调函数过滤数组中单元,并返回一个数组,只返回真假,真是1,假无值
1
2
3
4
5
6
7
8
9
10
11
| $shuiguo = array('苹果', '西瓜', '鸭梨', '芒果');
$shuiguo2 = array('芒果','西瓜','椰子','菠萝');
//array_map()将每次的函数的运行结果都记录下来
$re = array_map('foo', $shuiguo, $shuiguo2);
print_r($re);
function foo($x,$y){
if ($x==$y) {
return true;
}
return false;
}
|
删除和添加数组元素
1
2
3
4
5
| array[]=array(); //向数组中追加单元
array_push(数组,新元素); //向数组最后追加一个或多个单元
array_pop(数组); //删除数组最后一个单元
array_unshift(数组,元素); // 向数组最前面追加一个或多个单元
array_unshift(数组); //删除数组里的第一个单元
|
键名和键值
1
2
| array_keys($arr); //返回数组中所有的键名
array_valuea($arr); //返回数组中所有的键值
|
键名和键值反转
1
| array_flip($arr); //返回一个数组
|
合并数组
合并数组的时候,如果有键名相同,以第二个传入的参数为准
1
| array_merge($arr1,$arr2); //将后面的数组合并到前面的数组中
|
键名大小写转换
1
2
| array_change_key_case(数组,CASE_UPPER); //键名全变大写
array_change_key_case(数组,CASE_LOWER); //键名全变小写
|
将数组转成字符串表示
var_export
在不加true参数时没有返回值,会直接输出数组,和var_dump
类似
1
| var_export($arr,true); //返回一个字符串形式
|