range($min,$max[$step=1])
:快速建立下标连续的索引数组range(开始, 结束, 步长)php
range('a','z'); // 从a到z, 26个字母, 索引数组
复制代码
compact($varname,$varname....)
:快速建立关联数组<?php
$username = "zhangsan";
$sex = "male";
$age = 18;
$arr = compact('username','sex','age');
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun.php:10:
array (size=3)
'username' => string 'zhangsan' (length=8)
'sex' => string 'male' (length=4)
'age' => int 18
复制代码
array_fill($start_index,$num,$value)
:用给定的值填充数组<?php
$arr1 = array_fill(3,4,'blue');
var_dump($arr1);
复制代码
D:\php20190701\php_code\0809\array_fun.php:7:
array (size=4)
3 => string 'blue' (length=4)
4 => string 'blue' (length=4)
5 => string 'blue' (length=4)
6 => string 'blue' (length=4)
复制代码
array_fill_keys($keys,$value)
:使用指定的键和值填充数组<?php
$keys = array('a','b','c');
$arr = array_fill_keys($keys, 'blue');
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun.php:7:
array (size=3)
'a' => string 'blue' (length=4)
'b' => string 'blue' (length=4)
'c' => string 'blue' (length=4)
复制代码
<?php
$keys = array('a','b','c');
$values = array('aaa','bbb','ccc');
$arr = array_fill_keys($keys, $values);
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun.php:9:
array (size=3)
'a' =>
array (size=3)
0 => string 'aaa' (length=3)
1 => string 'bbb' (length=3)
2 => string 'ccc' (length=3)
'b' =>
array (size=3)
0 => string 'aaa' (length=3)
1 => string 'bbb' (length=3)
2 => string 'ccc' (length=3)
'c' =>
array (size=3)
0 => string 'aaa' (length=3)
1 => string 'bbb' (length=3)
2 => string 'ccc' (length=3)
复制代码
array_combine($keys,$values)
:建立一个数组,用一个数组的值做为其键名, 另外一个数组的值, 做为键值<?php
$keys = array('a','b','c');
$values = array('aaa','bbb','ccc');
$arr = array_combine($keys, $values);
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun.php:9:
array (size=3)
'a' => string 'aaa' (length=3)
'b' => string 'bbb' (length=3)
'c' => string 'ccc' (length=3)
复制代码
count($var[,$mode=COUNT_NORMAL])/sizeof()
:计算数组中的元素数量array_keys($array)
:取得数组的键名做为下标连续的索引数组
返回===
, false 至关于 ==
, 默认是false<?php
$arr = ['Volvo'=>'XC90',"BMW"=>"X5","Toyota"=>"Highlander"];
var_dump(array_keys($arr));
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:
array (size=3)
0 => string 'Volvo' (length=5)
1 => string 'BMW' (length=3)
2 => string 'Toyota' (length=6)
复制代码
<?php
$arr = ['Volvo'=>'XC90',"BMW"=>"5","Toyota"=>5];
var_dump(array_keys($arr,5,true)); // 5 和 "5" 是不同的
var_dump(array_keys($arr,5,false)); // 5 和 "5" 同样
var_dump(array_keys($arr,5)); // 默认false
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:
array (size=1)
0 => string 'Toyota' (length=6)
D:\php20190701\php_code\0809\array_fun.php:6:
array (size=2)
0 => string 'BMW' (length=3)
1 => string 'Toyota' (length=6)
D:\php20190701\php_code\0809\array_fun.php:7:
array (size=2)
0 => string 'BMW' (length=3)
1 => string 'Toyota' (length=6)
复制代码
array_values($array)
:取得数组的键值做为下标连续的索引数组返回<?php
$arr = ['Volvo'=>'XC90',"BMW"=>"X5","Toyota"=>"Highlander"];
var_dump(array_values($arr));
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:
array (size=3)
0 => string 'XC90' (length=4)
1 => string 'X5' (length=2)
2 => string 'Highlander' (length=10)
复制代码
array_flip($array)
:交换数组中的键名和键值<?php
$arr1 = ['first'=>1,'second'=>2,'third'=>3];
var_dump(array_flip($arr1)); // 键名和键值互换
复制代码
D:\php20190701\php_code\0809\array_fun.php:7:
array (size=3)
1 => string 'first' (length=5)
2 => string 'second' (length=6)
3 => string 'third' (length=5)
复制代码
in_array($search,$array[,$strict])
:检测数组中是否存在某个值<?php
$arr = ['Volvo'=>'XC90',"BMW"=>"X5","Toyota"=>"Highlander"];
var_dump(in_array("X5",$arr)); // true
var_dump(in_array("X6",$arr)); // false
var_dump(in_array("BMW",$arr)); // false, 只能搜索键值
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:boolean true
D:\php20190701\php_code\0809\array_fun.php:6:boolean false
D:\php20190701\php_code\0809\array_fun.php:7:boolean false
复制代码
<?php
$arr = ['Volvo'=>'XC90',"BMW"=>"5","Toyota"=>"5"];
var_dump(in_array(5,$arr,true)); // 至关于 "==="
var_dump(in_array(5,$arr,false)); // 至关于 "=="
var_dump(in_array(5,$arr)); // 默认false
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:boolean false
D:\php20190701\php_code\0809\array_fun.php:6:boolean true
D:\php20190701\php_code\0809\array_fun.php:7:boolean true
复制代码
array_search($search,$array[,$strict])
:在数组中搜索给定的值<?php
$arr = ['a'=>'red','b'=>'green','c'=>'blue'];
echo array_search('red', $arr);
复制代码
a
复制代码
<?php
$arr = ['a'=>'red','b'=>'green','c'=>'blue','d'=>"5"];
var_dump(array_search(5, $arr,true)); // 至关于 "==="
var_dump(array_search(5, $arr,false)); // 至关于 "=="
var_dump(array_search(5, $arr)); // 默认false
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:boolean false
D:\php20190701\php_code\0809\array_fun.php:6:string 'd' (length=1)
D:\php20190701\php_code\0809\array_fun.php:7:string 'd' (length=1)
复制代码
<?php
$arr = ['a'=>'red','b'=>'green','c'=>"5",'d'=>5];
var_dump(array_search(5, $arr,true)); // d
var_dump(array_search(5, $arr,false)); // c
var_dump(array_search(5, $arr)); // c
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:string 'd' (length=1)
D:\php20190701\php_code\0809\array_fun.php:6:string 'c' (length=1)
D:\php20190701\php_code\0809\array_fun.php:7:string 'c' (length=1)
复制代码
array_key_exists($search,$array)
:检查给定的键名或索引是否存在于数组中<?php
$arr = [
'first'=>'one',
'second'=>'two',
'third'=>'three',
];
var_dump(array_key_exists('first',$arr));
var_dump(array_key_exists('first111',$arr));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:10:boolean true
D:\php20190701\php_code\0809\array_fun3.php:11:boolean false
复制代码
<?php
$arr = ['one','two','three'];
var_dump(array_key_exists('0',$arr)); // true
var_dump(array_key_exists(0,$arr)); // true
var_dump(array_key_exists('1',$arr)); // true
var_dump(array_key_exists(1,$arr)); // true
复制代码
array_reverse($array[,$preserve_keys=false])
:数组倒置<?php
$arr = ['one','two','three'];
var_dump(array_reverse($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:6:
array (size=3)
0 => string 'three' (length=5)
1 => string 'two' (length=3)
2 => string 'one' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:7:
array (size=3)
0 => string 'one' (length=3)
1 => string 'two' (length=3)
2 => string 'three' (length=5)
复制代码
<?php
$arr = ['one','two','three'];
var_dump(array_reverse($arr));
var_dump(array_reverse($arr,false));
var_dump(array_reverse($arr,true));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:6:
array (size=3)
0 => string 'three' (length=5)
1 => string 'two' (length=3)
2 => string 'one' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:7:
array (size=3)
0 => string 'three' (length=5)
1 => string 'two' (length=3)
2 => string 'one' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:8:
array (size=3)
2 => string 'three' (length=5)
1 => string 'two' (length=3)
0 => string 'one' (length=3)
复制代码
shuffle($array)
:打乱数组的元素<?php
$arr = ['one','two','three','four','five','six','seven'];
var_dump(shuffle($arr)); // true
var_dump($arr); // 展现结果
var_dump(shuffle($arr)); // true
var_dump($arr); // 展现结果
复制代码
D:\php20190701\php_code\0809\array_fun3.php:6:boolean true
D:\php20190701\php_code\0809\array_fun3.php:7:
array (size=7)
0 => string 'three' (length=5)
1 => string 'five' (length=4)
2 => string 'seven' (length=5)
3 => string 'two' (length=3)
4 => string 'six' (length=3)
5 => string 'four' (length=4)
6 => string 'one' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:8:boolean true
D:\php20190701\php_code\0809\array_fun3.php:9:
array (size=7)
0 => string 'six' (length=3)
1 => string 'seven' (length=5)
2 => string 'three' (length=5)
3 => string 'one' (length=3)
4 => string 'four' (length=4)
5 => string 'two' (length=3)
6 => string 'five' (length=4)
复制代码
<?php
$arr = [
'1st'=>'one',
'2nd'=>'two',
'3rd'=>'three',
'4th'=>'four',
'5th'=>'five',
'6th'=>'six',
'7th'=>'seven',
];
var_dump(shuffle($arr)); // true
var_dump($arr); // 展现结果
var_dump(shuffle($arr)); // true
var_dump($arr); // 展现结果
复制代码
D:\php20190701\php_code\0809\array_fun3.php:14:boolean true
D:\php20190701\php_code\0809\array_fun3.php:15:
array (size=7)
0 => string 'three' (length=5)
1 => string 'one' (length=3)
2 => string 'two' (length=3)
3 => string 'five' (length=4)
4 => string 'four' (length=4)
5 => string 'six' (length=3)
6 => string 'seven' (length=5)
D:\php20190701\php_code\0809\array_fun3.php:16:boolean true
D:\php20190701\php_code\0809\array_fun3.php:17:
array (size=7)
0 => string 'seven' (length=5)
1 => string 'four' (length=4)
2 => string 'three' (length=5)
3 => string 'two' (length=3)
4 => string 'six' (length=3)
5 => string 'one' (length=3)
6 => string 'five' (length=4)
复制代码
array_unique($array[,$sort_flag=SORT_STRING])
:移除数组中重复的值<?php
$arr = [
'seven',
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
];
var_dump(array_unique($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:15:
array (size=7)
0 => string 'seven' (length=5)
1 => string 'one' (length=3)
2 => string 'two' (length=3)
3 => string 'three' (length=5)
4 => string 'four' (length=4)
5 => string 'five' (length=4)
6 => string 'six' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:16:
array (size=8)
0 => string 'seven' (length=5)
1 => string 'one' (length=3)
2 => string 'two' (length=3)
3 => string 'three' (length=5)
4 => string 'four' (length=4)
5 => string 'five' (length=4)
6 => string 'six' (length=3)
7 => string 'seven' (length=5)
复制代码
<?php
$arr = [
"111"=>'seven',
"222"=>'one',
"333"=>'two',
"444"=>'three',
"555"=>'four',
"666"=>'five',
"777"=>'six',
"888"=>'seven',
];
var_dump(array_unique($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:15:
array (size=7)
111 => string 'seven' (length=5)
222 => string 'one' (length=3)
333 => string 'two' (length=3)
444 => string 'three' (length=5)
555 => string 'four' (length=4)
666 => string 'five' (length=4)
777 => string 'six' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:16:
array (size=8)
111 => string 'seven' (length=5)
222 => string 'one' (length=3)
333 => string 'two' (length=3)
444 => string 'three' (length=5)
555 => string 'four' (length=4)
666 => string 'five' (length=4)
777 => string 'six' (length=3)
888 => string 'seven' (length=5)
复制代码
<?php
$arr = [
123,'123a',123
];
var_dump(array_unique($arr,SORT_STRING));
var_dump(array_unique($arr,SORT_NUMERIC));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:8:
array (size=2)
0 => int 123
1 => string '123a' (length=4)
D:\php20190701\php_code\0809\array_fun3.php:9:
array (size=1)
0 => int 123
复制代码
array_rand($array[,$num_req=1])
:随机取出数组的键名<?php
$arr1 = ['first'=>1,'second'=>2,'third'=>3];
// 随机返回键名, 是一个数组
// 第二个参数若是不写, 默认是1, 返回就不是数组, 而是数字或者字符串(键名)
// 第二个参数若是是0, 或者超出数组数量, 报warning, 返回null
var_dump(array_rand($arr1,2));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:8:
array (size=2)
0 => string 'first' (length=5)
1 => string 'third' (length=5)
复制代码
array_sum($array)
:统计数组中元素值的总和<?php
$str = "1,2,5,6,9";
$arr = explode(',',$str);
var_dump(array_sum($arr)); // 23
复制代码
<?php
$arr = ["a1","2b","5c","6d","9e"];
var_dump(array_sum($arr)); // 22
复制代码
array_product($array)
:计算数组中全部值的乘积$arr = [1,2,3,4];
var_dump(array_product($arr)); // 24
复制代码
<?php
$arr = ["1a",'11.1',"5c"];
var_dump(array_product($arr)); // 55.5
复制代码
array_count_values($array)
:统计数组中值出现的次数<?php
$arr = ['red','red','green','orange','grass','orange','grey','blue','grass','pink'];
var_dump(array_count_values($arr));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=7)
'red' => int 2
'green' => int 1
'orange' => int 2
'grass' => int 2
'grey' => int 1
'blue' => int 1
'pink' => int 1
复制代码
extract($array[,$extract_type=EXTR_OVERWRITE[,$prefix=null]])
:数组转变量键名转成变量名, 键值转成变量值算法
若是重名, 会覆盖以前的变量segmentfault
第二个参数: 出现重复时的处理方案数组
第三个参数: 前缀, 加载变量名前面, 自动增长_
bash
prefix
。prefix
。<?php
$arr = [
"a"=>'red',
"b"=>'red',
"c"=>'green'
];
extract($arr);
var_dump($a);
var_dump($b);
var_dump($c);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:11:string 'red' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:12:string 'red' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:13:string 'green' (length=5)
复制代码
<?php
$a = "abc";
$arr = [
"a"=>'red',
"b"=>'red',
"c"=>'green'
];
extract($arr,EXTR_PREFIX_ALL,"pre");
var_dump($a);
var_dump($pre_a);
var_dump($pre_b);
var_dump($pre_c);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:13:string 'abc' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:14:string 'red' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:15:string 'red' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:16:string 'green' (length=5)
复制代码
array_pad($array,$size,$value)
:用值将数组填补到指定长度<?php
$arr = ['red','green'];
var_dump(array_pad($arr,5,'blue'));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:4:
array (size=5)
0 => string 'red' (length=3)
1 => string 'green' (length=5)
2 => string 'blue' (length=4)
3 => string 'blue' (length=4)
4 => string 'blue' (length=4)
复制代码
<?php
$arr = ['red','green'];
var_dump(array_pad($arr,5,['blue','red','pink']));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:4:
array (size=5)
0 => string 'red' (length=3)
1 => string 'green' (length=5)
2 =>
array (size=3)
0 => string 'blue' (length=4)
1 => string 'red' (length=3)
2 => string 'pink' (length=4)
3 =>
array (size=3)
0 => string 'blue' (length=4)
1 => string 'red' (length=3)
2 => string 'pink' (length=4)
4 =>
array (size=3)
0 => string 'blue' (length=4)
1 => string 'red' (length=3)
2 => string 'pink' (length=4)
复制代码
key($array)
:获得当前指针所在位置元素的键名<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(key($arr)); // 0
复制代码
current($array)|pos($array)
:获得当前指针所在位置元素的键值<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(current($arr)); // red
复制代码
next($array)
:将数组指针向下移动一位,而且返回当前指针所在位置元素的键值<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(next($arr)); // green
复制代码
prev($array)
:将数组指针向上移动一位,而且返回当前指针所在位置元素的键值<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(next($arr)); // green
复制代码
end($array)
:将数组指针移动倒数组的末尾,而且返回当前指针所在位置元素的键值<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(end($arr)); // orange
复制代码
reset($array)
:将数组指针移动到数组的开始,而且返回当前指针所在位置元素的键值<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(reset($arr)); // red
复制代码
each($array)
:返回数组中当前的键值对,并将数组指针向下移动一位<?php
$arr = ['red','green','blue','pink','orange'];
var_dump(each($arr));
var_dump(each($arr));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:4:
array (size=4)
1 => string 'red' (length=3)
'value' => string 'red' (length=3)
0 => int 0
'key' => int 0
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=4)
1 => string 'green' (length=5)
'value' => string 'green' (length=5)
0 => int 1
'key' => int 1
复制代码
list($var,...)
:将数组中元素的值赋给对应的变量<?php
$arr = ['red','green','blue','pink','orange'];
list($a,$b,$c,$d,$e) = $arr;
var_dump($a,$b,$c,$d,$e);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:string 'red' (length=3)
D:\php20190701\php_code\0809\array_fun3.php:5:string 'green' (length=5)
D:\php20190701\php_code\0809\array_fun3.php:5:string 'blue' (length=4)
D:\php20190701\php_code\0809\array_fun3.php:5:string 'pink' (length=4)
D:\php20190701\php_code\0809\array_fun3.php:5:string 'orange' (length=6)
复制代码
array_unshift($array,$value...)
:在数组开头插入一个元素或者多个元素<?php
$arr = ['red','green','blue','pink','orange'];
array_unshift($arr,'hello');
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=6)
0 => string 'hello' (length=5)
1 => string 'red' (length=3)
2 => string 'green' (length=5)
3 => string 'blue' (length=4)
4 => string 'pink' (length=4)
5 => string 'orange' (length=6)
复制代码
array_shift($array)
:弹出数组的第一个元素<?php
$arr = ['red','green','blue','pink','orange'];
array_shift($arr);
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=4)
0 => string 'green' (length=5)
1 => string 'blue' (length=4)
2 => string 'pink' (length=4)
3 => string 'orange' (length=6)
复制代码
array_push($array,$value...)
:在数组末尾压入一个元素或者多个元素<?php
$arr = ['red','green','blue','pink','orange'];
array_push($arr,'hello');
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=6)
0 => string 'red' (length=3)
1 => string 'green' (length=5)
2 => string 'blue' (length=4)
3 => string 'pink' (length=4)
4 => string 'orange' (length=6)
5 => string 'hello' (length=5)
复制代码
array_pop($array)
:弹出数组的最后一个元素<?php
$arr = ['red','green','blue','pink','orange'];
array_pop($arr);
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=4)
0 => string 'red' (length=3)
1 => string 'green' (length=5)
2 => string 'blue' (length=4)
3 => string 'pink' (length=4)
复制代码
sort($array[,$sort_flag=SORT_REGULAR])
:对数组的键值按照升序排列,不保留键名<?php
$arr = ["Volvo","BMW","Toyota"];
var_dump(sort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:boolean true
D:\php20190701\php_code\0809\array_fun.php:7:
array (size=3)
0 => string 'BMW' (length=3)
1 => string 'Toyota' (length=6)
2 => string 'Volvo' (length=5)
复制代码
rsort($array[,$sort_flag=SORT_REGULAR])
:对数组键值按照降序排列,不保留键名<?php
$arr = ["Volvo","BMW","Toyota"];
var_dump(rsort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun.php:5:boolean true
D:\php20190701\php_code\0809\array_fun.php:7:
array (size=3)
0 => string 'Volvo' (length=5)
1 => string 'Toyota' (length=6)
2 => string 'BMW' (length=3)
复制代码
asort($array[,$sort_flag=SORT_REGULAR])
:对数组键值按照升序排列,保留键值对关系<?php
$arr = [
"Joe"=>"43",
"Peter"=>"35",
"Ben"=>"37",
];
var_dump(asort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun2.php:9:boolean true
D:\php20190701\php_code\0809\array_fun2.php:11:
array (size=3)
'Peter' => string '35' (length=2)
'Ben' => string '37' (length=2)
'Joe' => string '43' (length=2)
复制代码
arsort($array[,$sort_flag=SORT_REGULAR])
:对数组键值按照降序排列,保留键值对关系<?php
$arr = [
"Joe"=>"43",
"Peter"=>"35",
"Ben"=>"37",
];
var_dump(arsort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun2.php:9:boolean true
D:\php20190701\php_code\0809\array_fun2.php:11:
array (size=3)
'Joe' => string '43' (length=2)
'Ben' => string '37' (length=2)
'Peter' => string '35' (length=2)
复制代码
ksort($array[,$sort_flag=SORT_REGULAR])
:对数组的键名按照升序排列<?php
$arr = [
"Joe"=>"43",
"Peter"=>"35",
"Ben"=>"37",
];
var_dump(ksort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun2.php:9:boolean true
D:\php20190701\php_code\0809\array_fun2.php:11:
array (size=3)
'Ben' => string '37' (length=2)
'Joe' => string '43' (length=2)
'Peter' => string '35' (length=2)
复制代码
krsort($array[,$sort_flag=SORT_REGULAR])
:对数组的键名按照降序排列<?php
$arr = [
"Joe"=>"43",
"Peter"=>"35",
"Ben"=>"37",
];
var_dump(krsort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun2.php:9:boolean true
D:\php20190701\php_code\0809\array_fun2.php:11:
array (size=3)
'Peter' => string '35' (length=2)
'Joe' => string '43' (length=2)
'Ben' => string '37' (length=2)
复制代码
natsort($array)
:用天然排序法排序<?php
$arr = [
"tmp15.txt",
"tmp10.txt",
"tmp1.txt",
"tmp22.txt",
"tmp2.txt",
];
var_dump(sort($arr));
var_dump($arr);
var_dump(natsort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:11:boolean true
D:\php20190701\php_code\0809\array_fun3.php:12:
array (size=5)
0 => string 'tmp1.txt' (length=8)
1 => string 'tmp10.txt' (length=9)
2 => string 'tmp15.txt' (length=9)
3 => string 'tmp2.txt' (length=8)
4 => string 'tmp22.txt' (length=9)
D:\php20190701\php_code\0809\array_fun3.php:13:boolean true
D:\php20190701\php_code\0809\array_fun3.php:14:
array (size=5)
0 => string 'tmp1.txt' (length=8)
3 => string 'tmp2.txt' (length=8)
1 => string 'tmp10.txt' (length=9)
2 => string 'tmp15.txt' (length=9)
4 => string 'tmp22.txt' (length=9)
复制代码
natcasesort($array)
:用天然排序算法对数组进行不区分大小写字母的排序<?php
$arr = [
"tmp15.txt",
"TMP10.txt",
"tmp1.txt",
"TMP22.txt",
"tmp2.txt",
];
var_dump(natsort($arr));
var_dump($arr);
var_dump(natcasesort($arr));
var_dump($arr);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:11:boolean true
D:\php20190701\php_code\0809\array_fun3.php:12:
array (size=5)
1 => string 'TMP10.txt' (length=9)
3 => string 'TMP22.txt' (length=9)
2 => string 'tmp1.txt' (length=8)
4 => string 'tmp2.txt' (length=8)
0 => string 'tmp15.txt' (length=9)
D:\php20190701\php_code\0809\array_fun3.php:13:boolean true
D:\php20190701\php_code\0809\array_fun3.php:14:
array (size=5)
2 => string 'tmp1.txt' (length=8)
4 => string 'tmp2.txt' (length=8)
1 => string 'TMP10.txt' (length=9)
0 => string 'tmp15.txt' (length=9)
3 => string 'TMP22.txt' (length=9)
复制代码
array_multisort($arr[,$arg=SORT_STRING...])
:对多个数组或多维数组进行排序$array[] = array("age"=>20,"name"=>"li");
$array[] = array("age"=>21,"name"=>"ai");
$array[] = array("age"=>20,"name"=>"ci");
$array[] = array("age"=>22,"name"=>"di");
foreach ($array as $key=>$value){
$age[$key] = $value['age'];
$name[$key] = $value['name'];
}
array_multisort($age,SORT_NUMERIC,SORT_DESC,$name,SORT_STRING,SORT_ASC,$array);
var_dump($array);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:27:
array (size=4)
0 =>
array (size=2)
'age' => int 22
'name' => string 'di' (length=2)
1 =>
array (size=2)
'age' => int 21
'name' => string 'ai' (length=2)
2 =>
array (size=2)
'age' => int 20
'name' => string 'ci' (length=2)
3 =>
array (size=2)
'age' => int 20
'name' => string 'li' (length=2)
复制代码
array_diff($array1,$array2[...])
:计算数组的差集array1
中, 可是不在array2
中, 多个同理...<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
var_dump($result);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:6:
array (size=1)
'd' => string 'yellow' (length=6)
复制代码
if( !array_diff($arr1, $arr2) && !array_diff($arr2, $arr1)){
// 即相互都不存在差集,那么这两个数组就是相同的了,多数组也同样的道理
echo '两个数组相同';
}
复制代码
array_diff_assoc($array1,$array2[,...])
:带索引检查计算数组的差集<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
var_dump($result);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=3)
'b' => string 'brown' (length=5)
'c' => string 'blue' (length=4)
0 => string 'red' (length=3)
复制代码
array_intersect($array1,$array2[...])
:计算数组的交集<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
var_dump($result);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=2)
'a' => string 'green' (length=5)
0 => string 'red' (length=3)
复制代码
array_intersect_assoc($array1,$array2[...])
:带索引检查计算数组的交集<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_intersect_assoc($array1, $array2);
var_dump($result);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:5:
array (size=1)
'a' => string 'green' (length=5)
复制代码
array_slice($array,$offset[$length=null[,$preserve_keys=false]])
:截取数组<?php
$arr = [
'one'=>'a',
'two'=>'b',
'three'=>'c',
'four'=>'d',
'five'=>'e'
];
var_dump(array_slice($arr,2));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:9:
array (size=3)
'three' => string 'c' (length=1)
'four' => string 'd' (length=1)
'five' => string 'e' (length=1)
复制代码
array_splice($array,$offset[,$length=0,$replacement]])
:将数组中一部分去掉并用其它值替代<?php
$arr1=[
"a"=>"red",
"b"=>"green",
"c"=>"blue",
"d"=>"yellow"
];
$arr2=[
"a"=>"purple",
"b"=>"orange"
];
array_splice($arr1,0,2,$arr2);
var_dump($arr1);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:13:
array (size=4)
0 => string 'purple' (length=6)
1 => string 'orange' (length=6)
'c' => string 'blue' (length=4)
'd' => string 'yellow' (length=6)
复制代码
array_merge($arr1[,$arr2...])
:合并数组<?php
$arr1 = ['first'=>1,'second'=>2,'third'=>3];
$arr2 = ['first'=>4,'second'=>5,'third'=>6];
$arr3 = [3=>'hello',4=>'world'];
var_dump(array_merge($arr1,$arr2)); // 后面的会覆盖前面的
var_dump($arr1+$arr2); // 前面的会覆盖后面的
var_dump(array_merge($arr3)); // 若是只有一个数组, 而且是数字下标, 下标会从新索引
复制代码
D:\php20190701\php_code\0809\array_fun3.php:8:
array (size=3)
'first' => int 4
'second' => int 5
'third' => int 6
D:\php20190701\php_code\0809\array_fun3.php:9:
array (size=3)
'first' => int 1
'second' => int 2
'third' => int 3
D:\php20190701\php_code\0809\array_fun3.php:10:
array (size=2)
0 => string 'hello' (length=5)
1 => string 'world' (length=5)
复制代码
array_chunk($array,$size[,$preserve_keys=false])
:将一个数组分割成多个<?php
$arr = array('a', 'b', 'c', 'd', 'e');
var_dump(array_chunk($arr, 2));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:3:
array (size=3)
0 =>
array (size=2)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
1 =>
array (size=2)
0 => string 'c' (length=1)
1 => string 'd' (length=1)
2 =>
array (size=1)
0 => string 'e' (length=1)
复制代码
<?php
$arr = [
'one'=>'a',
'two'=>'b',
'three'=>'c',
];
var_dump(array_chunk($arr, 2, true));
var_dump(array_chunk($arr, 2, false));
复制代码
D:\php20190701\php_code\0809\array_fun3.php:7:
array (size=2)
0 =>
array (size=2)
'one' => string 'a' (length=1)
'two' => string 'b' (length=1)
1 =>
array (size=1)
'three' => string 'c' (length=1)
D:\php20190701\php_code\0809\array_fun3.php:8:
array (size=2)
0 =>
array (size=2)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
1 =>
array (size=1)
0 => string 'c' (length=1)
复制代码
array_column($array,$column_key[,$index_key])
:返回数组中指定的一列, 从多维数组中返回单列数组<?php
$records = [
[
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
], [
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
], [
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
], [
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$first_names = array_column($records, 'first_name');
var_dump($first_names);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:23:
array (size=4)
0 => string 'John' (length=4)
1 => string 'Sally' (length=5)
2 => string 'Jane' (length=4)
3 => string 'Peter' (length=5)
复制代码
<?php
$records = [
[
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
], [
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
], [
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
], [
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$first_names = array_column($records, 'first_name','id');
var_dump($first_names);
复制代码
D:\php20190701\php_code\0809\array_fun3.php:23:
array (size=4)
2135 => string 'John' (length=4)
3245 => string 'Sally' (length=5)
5342 => string 'Jane' (length=4)
5623 => string 'Peter' (length=5)
复制代码