作为一个PHPer,没有几个积累的函数,怎么能驾驭这“世界上最好的语言” [手动表情 狗头]。闲话不多说,各位看招!
函数 | 说明 | 举例 |
---|---|---|
unset() | 删除数组中的某个元素 | 略 |
array_combine() | 生成一个数组,用一个数组的值作为键名,另一个数组值作为值 | $a1=array(“a”,“b”); $a2=array(“Cat”,“Dog”,“Horse”,“Cow”);array_combine( $a1, $a2 ); |
range() | 创建并返回一个包含指定范围的元素的数组。 | $number = range(0,20,10);print_r ( $number ); array(10,20) |
compact() | 创建一个由参数所带变量组成的数组 | $name = “Peter”; $age = “38”; $result = compact(“name”, “age”); $result = [‘name’=>‘Peter’,‘age’=>38] |
array_fill() | 用给定的填充(值生成)数组 | $a=array_fill(2,3,“Dog”); $a=Array ( [2] => Dog [3] => Dog) |
array_chunk() | 把一个数组分割为新的数组块 | $a= [‘a’=>‘ab’,‘b’=>‘cd’];array_chunk( $a,1) ; [‘a’=>‘ab’] , [‘b’=>‘cd’] |
array_merge() | 把两个或多个数组合并为一个数组。(两个一维数组,merge是一个一维数组;两个二维数组merge是一个二维数组;) | $a = [‘a’,‘b’]; $b= [‘c’,‘d’] ;array_merge( $a, $b ); [‘a’,‘b’,‘c’,‘d’] |
array_diff() | 返回两个或者多个数组的差集数组 | 以第一个参数的为基准 |
array_intersect() | 返回两个或多个数组的相同值的数组 (比较的数组必须是同阶的:两个或多个一维数组或者;两个或多个二维数组) | 同上 |
array_search() | 根据条件在数组中查找一个值,返回一个键,没有返回返回假 | array_search(‘a’,$arr) |
array_splice | 在数组中根据条件删除一部分,用其他代替 | array_splice($a,0,2, $b) ; $a1=array(0=>“Dog”,1=>“Cat”,2=>“Horse”,3=>“Bird”); $a2=array(0=>“Tiger”,1=>“Lion”);array_splice( $a1,0,2, $a2 ); Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird ) |
array_sum() | 返回数组中的所有值的总和 | $a=array(0=>“5”,1=>“15”,2=>“25”); echo array_sum( $arr); 45 |
in_array() | 根据条件在数组中搜索给定的值,区分大小写 (true 或者 false) | in_array(‘a’,$arr) |
array_key_exists() | 判断某个键名是否存在于数组中 (true 或者 false) | array_key_exists(‘a’,$arr) |
list() | 用数组中的元素为一组变量赋值 | list( $a, $b, $c) = $my_array; 常用形式:list( $a, $b, $c) = explode(’,’, $str); |
array_shift() | 删除数组中的第一个元素,并返回被删除元素的值 | array_shfit($arr) |
array_unshift() | 在数组开头插入一个或多个元素 | array_unshift($a,“Horse”); |
array_push | 在数组的末尾加入一个或多个元素 | array_push($arr,‘a’) |
array_pop() | 删除数组中的最后一个元素 | $a=array(“Dog”,“Cat”,“Horse”); array_pop( $a); |
shuffle() | 将数组打乱保留键名 | shuffle($arr) |
count() | 计算数组中的单元数目或对象中的属性个数 | count($arr) |
array_flip() | 返回一个键值反转后的数组 | array_flip($arr) |
array_keys() | 返回数组所有的键,组成一个数组 | array_keys($arr) |
array_values() | 返回数组中所有值,组成一个数组(如有断序,可以重新排序) | array_values() |
array_reverse() | 返回一个元素顺序相反的数组 | array_reverse($arr) |
array_count_values() | 统计数组中所有的值出现的次数 | array_count_values($arr) |
array_rand() | 从数组中随机抽取一个或多个元素,注意是键名!!! | array_rand($arr,2) |
array_unique() | 删除重复值,返回剩余数组 | array_unique($arr) |
sort() | 按升序对给定数组的值排序,不保留键名(常用于索引数组排序) | sort($arr) |
arsort() | 对数组逆向排序,保持索引关系 | arsort($arr) |
array_multisort() | 常用于二维数组根据某字段排序 | array_multisort(array_column($data,‘edition’),SORT_ASC, $data); |
array_column() | (php版本为5.5及以上)将二位数组的某个字段,取出,生成一个索引数组 | array_column($arr , ‘name’) |
array_map() | 根据引用的函数规则,遍历数组元素 | array_map(function($item){}, $data) |
array_filter() | 函数用回调函数过滤数组中的值。(过滤空的数据) | 去空用法:array_fliter($arr) |
get_class_methods() | 获取类下面的所有方法,返回数组形式(一般用于PHP权限控制类中方法) | class Test { public function index(){} public function red(){}} $class_list = get_class_methods(‘Test’);print_r( $class_list); [‘index’,‘red’] |
glob() | 函数返回匹配指定模式的文件名或目录。 | glob(’/app/sevs/controller/*.php’) ; sevs模块下的所有PHP文件,一般用于PHP权限控制控制器 |
class_exists() | 判断控制器是否存在,返回true 或者 false | class_exists($controller) |
持续更新中。。。