一、统计数组元素个数
1、count()
统计数组元素个数
$arr1 = array(1,3,5,7,9);
echo count($arr1);//结果为 5
二、数组与字符串的转换
1、explode()
分割字符串,字符串将被分隔符分割出若干个子串组成一个新的数组
- 参数1:分隔符
- 参数2:字符
- 参数3:limit参数,则返回的数组最多包含limit个元素
2、implode()
用一个连接符将数组元素连接为一个字符串。
//explode() 分割函数
$str = 'a|b|c|d|e';
print_r(explode('|',$str));
//结果为 Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
print_r(explode('|',$str,3));
//结果为 Array ( [0] => a [1] => b [2] => c|d|e ) 只分割成3个元素
//implode() 合并函数
$arr2 = array('a','b','c','d');
echo implode('-', $arr2);
//结果为 a-b-c-d
三、数组的查找
1、in_array()
检查数组中是否存在某个值
2、array_search()
在数组中是否搜索某个值,找到返回这个值得键
3、array_key_exists()
检查给定的键名或索引是否存在于数组中
//数组的查找
$arr3 = array('a'=>'苹果','b'=>'香蕉','c'=>'西瓜');
//in_array()
var_dump(in_array('苹果', $arr3));
//结果为bool(true),说明数组存在苹果这个元素
//array_search()
echo array_search('苹果',$arr3);
//结果为 a ,找到元素则返回该元素的键值
//array_key_exists()
var_dump(array_key_exists('a', $arr3));
//结果为bool(true),说明数组存在这个键值
四、数组的排序
1、sort()
对数组进行升序排序
2、rsort()
对数组进行降序排序
3、asort()
对数组进行排序并保持索引关系
4、arsort()
对数组保持索引关系进行反向排序
5、ksort()
对数组按照键名排序
6、krsort()
对数组按照键名进行反向排序
//数组的排序
$arr4 = array(11,20,9,54,63);
//sort() 升序排序
sort($arr4);
print_r($arr4);
echo "<br>";
//结果为 Array ( [0] => 9 [1] => 11 [2] => 20 [3] => 54 [4] => 63 )
//rsort() 降序排序
rsort($arr4);
print_r($arr4);
echo "<br>";
//结果为 Array ( [0] => 63 [1] => 54 [2] => 20 [3] => 11 [4] => 9 )
//asort() 保持索引关系排序
asort($arr4);
print_r($arr4);
echo "<br>";
//结果为 Array ( [4] => 9 [3] => 11 [2] => 20 [1] => 54 [0] => 63 )
//arsort() 保持索引关系反向排序
arsort($arr4);
print_r($arr4);
echo "<br>";
//结果为 Array ( [0] => 63 [1] => 54 [2] => 20 [3] => 11 [4] => 9 )
//ksort() 键名排序
ksort($arr4);
print_r($arr4);
echo "<br>";
//结果为 Array ( [0] => 63 [1] => 54 [2] => 20 [3] => 11 [4] => 9 )
//krsort() 键名反向排序
krsort($arr4);
print_r($arr4);
echo "<br>";
//结果为 Array ( [4] => 9 [3] => 11 [2] => 20 [1] => 54 [0] => 63 )
五、数组的拆分与合并
1、array_slice()
从数组的一个索引开始取出数组指定个数的元素,返回一个新的数组
2、array_splice()
是把给定数组中从某位置开始的数组元素去掉,返回一个包含有被移除单元的数组。与JavaScript中的splice函数用法大致相同可参考第10节 JavaScript数组的一些常用方法
3、array_merge()
合并2个数组,返回合并后的新数组
一个数组中的值附加在前一个数组的后面。
如果数组有相同的键名,后面键名的值会覆盖前一个
//数组的拆分与合并
$arr5 = array('a','b','c','d');
//array_slice()
print_r(array_slice($arr5,1,1));
//结果为Array ( [0] => b )取出从索引1开始的一个元素
//array_splice()
print_r(array_splice($arr5,2));
//结果为 Array ( [0] => c [1] => d ) 元素c和d 被移除
//array_merge()
$arr5 = array('a','b','c','d');
$arr6 = array('e','f');
print_r(array_merge($arr5,$arr6));
//结果为Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
六、 PHP预定义数组
1、$_SERVER[]
当前PHP服务器变量数组
2、$GLOBALS[]
包含正在执行脚本所有超级全局变量的引用内容
3、$_ENV[]
当前PHP环境变量数组
4、$_GET[]
获得以GET方法提交的变量数组
5、$_POST[]
获得以POST方法提交的变量数组
6、$_REQUEST[]
包含当前脚本提交的全部请求
7、$_COOKIE[]
获取设置cookie
8、$_SESSION[]
包含所有会话变量有关的信息
9、$_FILES[]
包含上传文件所有的相关变量信息