数组知识总结

原创 2018-11-15 14:21:36 706
摘要:1、数组的分类:索引数组、关联数组 //索引数组--> 用字面量的形式创建 $arts = [     0 => '亢龙有悔',     1 => '飞龙在天',    
1、数组的分类:索引数组、关联数组
//索引数组--> 用字面量的形式创建
$arts = [
    0 => '亢龙有悔',
    1 => '飞龙在天',
    3 => '见龙在田',
    '鸿渐于陆',
    '潜龙勿用',
    '突如其来',
];
//关联数组
$swordsman = ['name'=>'郭靖','position'=>'金刀驸马','skill'=>'降龙十八掌'];

2、数组的定义:整体或逐个赋值
$swordsman['name'] = '郭靖';

3、数组元素的类型:字面量[标量, 复合, 其它],变量

4、数组的遍历:for()  while()  foreach()  内部指针
内部指针遍历数组
 current() 当前指针指向元素的值
 key() 返回当前指针指向元素的键名
 next() 下移指针
 prev() 前移指针
 end() 将指针移到最后一个元素上
 reset() 指针复位,将指针指向第一个元素
(1) while() 入口判断型, 会造成第一个元素的缺失。

/*
 * 数组常用的键值处理函数
 * array_values($arr)  --  返回元素的值组成的新数组
 * array_column($arr,$col,$index)  --  返回多维数组中的一列
 * array_keys($arr,$val,$bool)  --  返回元素的键名组成的新数组
 * in_array($val,$arr,$bool)  --  判断元素中是否存在某个值
 * array_search($val,$arr,$bool)  --  查找指定值,并返回该值的键名
 * array_key_exists($key,$arr)  --  判断数组中是否存在指定的键名
 * array_flip($arr)  --  键值对调
 * array_reverse($arr)  --  数组翻转
 * */
 print_r($arr, $bool)  格式化输出变量,数组
 var_dump($arr1, $arr2...)  输出一个或多个变量的详细信息
 var_export($arr, $bool) 输出变量的字符串表示,[就是PHP语句]
 
 /*
 * 数组与变量和字符串之间的转换
 * list($var1, $var2...)  --  将数组中的索引元素转为变量
 * extract($arr, $flag)  --  将数组中的关联元素转为变量
 * compact($str1, $str2...)  --  将变量转为关联数组
 * explode($delimiter, $str, $limit)  --  将字符串转为数组
 * implode($glue, $arr)  --  将数组转为字符串
 * */
 
 /*
 * 数组的切割与填充
 * array_slice($arr, $offset, $length, $bool)  --  从数组中返回指定的元素
 * array_splice($arr, $offset, $length)  --  从数组中删除或替换指定的元素
 * array_chunk($arr, $size, $bool)  --  将大数组切割成若干个小数组
 * array_pad($arr, $size, $value)  --  将数组填充到指定的长度
 * */
 
 /*
 * 用数组实现堆栈与队列
 *    数组是一张线性表,堆栈->后进先出; 队列->先进先出
 *    array_push($arr, $value)  --  从数组尾部添加(入栈/入队)
 *    array_pop($arr)  --  从数组尾部删除元素(出栈/出队)
 *    array_unshift($arr, $value)  --  从数组头部添加(入栈/入队)
 *    array_shift($arr)  --  从数组头部删除元素(出栈/出队)
 * */
 
 /*
 * 数组元素的回调处理
 *    匿名函数最重要的用途,就是做为回调参数的值来使用,所以数组的回调处理函数中会大量用到匿名函数。
 *    array_filter($arr, $callback)  --  用回调过渡数组元素
 *    array_walk($arr, $callback, $var)  --  遍历元素并回调处理
 * */
 
 /*
 * 数组的排序操作
 *    数组元素主要是由键名和值两部分组成,所以排序主体就是键名和值;
 *    (1)根据值排序
 *       忽略键名:sort()升序,rsort()降序,usort()回调
 *       保留键名:asort()升序,arsort()降序,uasort()回调
 *    (2)根据键名排序:ksort()升序,krsort()降序,uksort()回调
 * */
 
 /*
 * 其它常用数组函数
 *    range($start, $end, $step) -- 生成指定范围与步长的数组
 *    array_unique($arr) -- 删除数组中值重复的元素(键名不存在重复的)
 *    array_fill($arr, $value) -- 用指定元素初始化一个数组
 *    array_rand($arr, $size) -- 从数组中随机取出部分元素
 *    shuffle($arr) -- 将数组元素随机打乱显示
 *    array_merge($arr1, $arr2) -- 将多个数组进行合并,键名相同则覆盖
 * */

批改老师:查无此人批改时间:2018-11-15 14:26:13
老师总结:不错,记得很清楚。写代码时,能用到就更好了,加油。

发布手记

热门词条