- mixed array_rand ( array $input [, int $num_req = 1 ] )
從input所給的數(shù)組中隨機(jī) 選取一個或多個鍵
- num_req认然,指明了你想取出多少個單元氏涩。如果指定的數(shù)目超過了數(shù)組里的數(shù)量將會產(chǎn)生一個 E_WARNING 級別的錯誤。
- 返回值,如果你只取出一個登淘,array_rand() 返回一個隨機(jī)單元的鍵名窿撬,否則就返回一個包含隨機(jī)鍵名的數(shù)組涂滴。這樣你就可以隨機(jī)從數(shù)組中取出鍵名和值味抖。
- array array_replace ( array $array1 , array $array2 [, array $... ] )
array_replace() 函數(shù)使用后面數(shù)組元素相同 key 的值替換 array1 數(shù)組的值甥啄。
- 如果一個鍵存在于第一個數(shù)組同時也存在于第二個數(shù)組,它的值將被第二個數(shù)組中的值替換撼玄。
$arr1 = array('hobby' => 'basketball');
$arr2 = array('hobby' => 'football');
$arr = array_replace($arr1, $arr2);
//$arr結(jié)果,array('hobby' => 'football');
- 如果一個鍵存在于第二個數(shù)組夺姑,但是不存在于第一個數(shù)組,則會在第一個數(shù)組中創(chuàng)建這個元素互纯。
$arr1 = array('hobby' => 'basketball');
$arr2 = array('sex' => 'male');
$arr = array_replace($arr1, $arr2);
//$arr結(jié)果,array('hobby' => 'basketball', 'sex' => 'male');
- 如果一個鍵僅存在于第一個數(shù)組瑟幕,它將保持不變磕蒲。
- 如果傳遞了多個替換數(shù)組留潦,它們將被按順序依次處理,后面的數(shù)組將覆蓋之前的值辣往。
- 是非遞歸的:它將第一個數(shù)組的值進(jìn)行替換而不管第二個數(shù)組中是什么類型兔院。
$arr1 = array('hobby' => array('a' => 'football', 'b' => 'basketball'));
$arr2 = array('hobby' => array('a' = > 'ping-pong'));
$arr = array_replace($arr1, $arr2);
//結(jié)果:array('hobby' => array('a' = > 'ping-pong'));
如果是遞歸的,結(jié)果:array('hobby' => array('a' => 'ping-pong', 'b' => 'basketball'));
- array array_reverse ( array $array [, bool $preserve_keys = false ]
將數(shù)組中的內(nèi)容倒轉(zhuǎn)
preserve_keys:如果設(shè)置為 TRUE 會保留數(shù)字的鍵。 非數(shù)字的鍵則不受這個設(shè)置的影響站削,總是會被保留坊萝。
解釋:preserve_keys
<?php
$array = array('a'=>'a',1,2);
/*
結(jié)果:
Array
(
[a] => a
[0] => 1
[1] => 2
)
*/
- preserve_keys = false(默認(rèn))
$revArray = array_reverse($araay);
print_r($revArray);
/*
結(jié)果:
Array
(
[0] => 2
[1] => 1
[a] => a
)
*/
- preserve_keys = true
$revArray = array_reverse($araay, true);
print_r($revArray);
/*
結(jié)果:
Array
(
[1] => 2
[0] => 1
[a] => a
)
*/
- number array_sum ( array $array )
計算,參數(shù)數(shù)組值的總和
- 如果值是不包含數(shù)字不參與運(yùn)算
- 即使值是字符串,也將會字符串開始為數(shù)字的字符參與運(yùn)算
$arr = array(1, 2, 3, '4a', 2);
$sum = array_sum($arr);//結(jié)果: 12
- bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
將值排序完成后,會是一個索引數(shù)組,即便原來是一個關(guān)聯(lián)數(shù)組
$array,需要排序的數(shù)組
-
sort_flags(可選),以何種方式排序
- SORT_NUMERIC,按照數(shù)字的從小到達(dá)排序
- SORT_NATURAL,自然排序
- 更多
如果sort_flags勝率,會按照ascii從小到達(dá)排序
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($arr);
//$arr: Array ( [0] => apple [1] => banana [2] => lemon [3] => orange )
- sort_flags = SORT_NUMERIC
$num = array('2', '11', '1', '21');
sort($num, SORT_NUMERIC);
//$num: Array ( [0] => 1 [1] => 2 [2] => 11 [3] => 21 )
- sort_flags = SORT_STRING
假設(shè)實(shí)現(xiàn)以下排序
1----第一章
11---第一章第一節(jié)
2----第二章
21---第二章第一節(jié)
$num = array('2', '11', '1', '21');
sort($num, SORT_STRING);
//$num: Array ( [0] => 1 [1] => 11 [2] => 2 [3] => 21 )
- bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
判斷指定值是否在一個數(shù)組里
- $needle, 指定的值
- hanystack, 要搜索的數(shù)組
- $trict, true區(qū)分大小寫
- 返回,存在true,不存在false
- string join ( string $glue , array $pieces)
別名 implode()
將一個數(shù)組轉(zhuǎn)化字符串
- $glue,要連接數(shù)組值的字符串
- $pieces,需要轉(zhuǎn)化的數(shù)組
如果是關(guān)聯(lián)數(shù)組鍵是不會保留的
<?php
$arr = array('a'=>1, 'b'=>2);
echo join(',', $arr);
// 輸出: 1,2