数组函数学习二

1.array_flip交换数组中的键和值

$arr=array('a'=>'ccj','b'=>'hh','c'=>'hh');
$arr1=array_flip($arr);
print_r($arr1);

函数学习

2.array_intersect_assoc()带索引检查计算数组的交集

$arr1=array('a'=>'green','b'=>'ccj','c'=>'blue','red'); $arr2=array('a'=>'green','b'=>'hi','blue','red');
$arr3=array_intersect_assoc($arr1,$arr2);
print_r($arr3);

函数学习

3.array_merge 合并一个或多个数组

$arr1=array('a'=>'hi',2,4);
$arr2=array(4,5,'a'=>'ccj',2,4);
$arr3=array_merge($arr1,$arr2);
print_r($arr3);

函数学习
注:键名会被重新编号

$arr1=array();
$arr2 = array(1 => "data");
$arr3=array_merge($arr1,$arr2);
print_r($arr3);

函数学习

//如果想完全保留原有数组并只想新的数组附加到后面,用+运算符
$arr1=array(0=>123,1=>456,2=>'ccj');
$arr2 = array(1 => "data",3=>'bear');
$arr3=$arr1+$arr2;
print_r($arr3);

函数学习

4. array_multisort 对多个数组或多位数组进行排序

$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);

函数学习
注:排序后,第一个数组会包含 0、 10、 100、 100。 第二个数组会包含 4、1、 2、 3。 第二个数组里的项目对应第一个数组后也进行了排序(100 和 100)

//排序多维数组
$arr = array(
  array("10", 11, 100, 100, "a"),
  array( 1, 2, "2", 3, 1)
);
array_multisort($arr[0],SORT_ASC,SORT_STRING,
  $arr[1],SORT_NUMERIC,SORT_DESC);
var_dump($arr);

本例中在排序后,第一个数组将变成 “10”,100,100,11,”a”(被当作字符串以升序排列)。第二个数组将包含 1, 3, “2”, 2, 1(被当作数字以降序排列)。
函数学习

//实际运用
$data= array(
array('volume' => 67, 'edition' => 2),
array('volume' => 86, 'edition' => 1),
array('volume' => 85, 'edition' => 6),
array('volume' => 98, 'edition' => 2),
array('volume' => 86, 'edition' => 6),
array('volume' => 67, 'edition' => 7)
);
// 取得列的列表
foreach ($data as $key => $row) {
$volume[$key]  = $row['volume'];
$edition[$key] = $row['edition'];
}
//排序
array_multisort($volume,SORT_DESC,
$edition,SORT_ASC,
$data);

var_dump($data);

函数学习

5.array_pad 以指定长度将一个值填充进数组

$input=array(12,10,8);
$arr1=array_pad($input,5,0);
print_r($arr1);

$arr2=array_pad($input,-7,1);
print_r($arr2);

$arr3=array_pad($input,2,'hi');
print_r($arr3);

函数学习

6.ksort 对数组按照键名排序

$arr1=array('First'=>'端午','SecOnd'=>'中秋','Abc'=>'国庆');
ksort($arr1);
print_r($arr1);

数组函数学习二

7.krsort对数组按照键名逆向排序

$arr1=array('First'=>'端午','SecOnd'=>'中秋','Abc'=>'国庆');
krsort($arr1);
print_r($arr1);

数组函数学习二

8.next 将数组中的内部指针向前移动一位

$arr1=array('First'=>'端午','SecOnd'=>'中秋','Abc'=>'国庆');
$value=next($arr1);
print_r($value);

数组函数学习二

9.pos 是current的别名,当前指针

$arr1=array('First'=>'端午','SecOnd'=>'中秋','Abc'=>'国庆');
$value1=pos($arr1);
$value2=current($arr1);
print_r($value1);
print_r($value2);

数组函数学习二

10.prev 将数组的内部指针到会一位

$arr1=array('First'=>'端午','SecOnd'=>'中秋','Abc'=>'国庆');
$value1=next($arr1);
$value1=prev($arr1);
print_r($value1);

数组函数学习二

本作品采用《CC 协议》,转载必须注明作者和本文链接
The sun is always behind the storm~
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!