1.array_column(array $input, string $column_key[, $index_key = null ]) — 返回数组中指定的一列

array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。

<?php
-------------------eg1---------------------
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
)
);

$first_names = array_column($records, 'first_name');
print_r($first_names);
?> //程序结果为:

Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)

--------------------eg2---------------------

$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);

//程序结果为:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

2.array_multisort(array1,sorting order,sorting type,array2,array3...) —对多个数组或多维数组进行排序

可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。输入数组被当成一个表的列并以行来排序——这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。——这句话是理解此函数用法的关键。


------------------------eg3------------------------
$arr = array(
'0' => array(
'num1' => 3,
'num2' => 27
),

'1' => array(
'num1' => 5,
'num2' => 50
),

'2' => array(
'num1' => 4,
'num2' => 44
),

'3' => array(
'num1' => 3,
'num2' => 78
)
);

foreach ( $arr as $key => $row ){
$num1[$key] = $row ['num1'];
$num2[$key] = $row ['num2'];
}

array_multisort($num1, SORT_ASC, $num2, SORT_DESC, $arr);

print_r($arr);
//result:Array([0]=>Array([num1]=>3 [num2]=>78) [1]=>Array([num1]=>3 [num2]=>27) [2]=>Array([num1]=>4 [num2]=>44) [3]=>Array([num1]=>5 [num2]=>50))

介绍到这里,可以通过上方array_column和array_multisort两个函数 通过某一字段进行对多维数组进行排序(先用array_column在多维数组中搜出来某一字段数组,再用array_multisort对此字段进行升序或降序对多维数组进行排列) 案例:PHP:根据二维数组中的某个字段进行排序

3.array_merge(array $array1,[array $array2...]) return array —将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

4.shuffle ( array &array ) return bool —函数随机排列数组单元的顺序(将数组打乱)。本函数为数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。

5.array_push(&array,value1,value2...) 向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度

6.array_pop(array &$array) — 弹出数组最后一个单元(出栈)弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。由此可以看出array_push和array_pop方法都遵循栈的法则-先进后出

7.array_shift(array)  函数删除数组中第一个元素,并返回被删除元素的值。(如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增)

8.array_unshift(&$array) —将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。

-----------------eg4----------------
<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?> //程序结果为

Array
(
[0] => apple
[1] => raspberry
[2] => orange
[3] => banana
)