欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

介紹幾個array庫的新函數(shù) php

 更新時間:2006年12月29日 00:00:00   作者:  
我們手頭的PHP資料不多,大家是不是都有一份php4gb.chm。我最欣賞它里面的函數(shù)庫部分了,真正的在線幫助。但是PHP發(fā)展的腳步實(shí)在太快了,你睢,我最近在www.php.net/manual/ 又找到了一些擴(kuò)展的數(shù)組函數(shù)。 

下面我把它們介紹給大家吧,我的英文水平不高,有譯的不對的地方,請指正。 
格式是這樣的: 

函數(shù)名 支持版本 

函數(shù)聲明 
說明及參數(shù)、返回值 

例子 


OK,Let's go. 

//************************* 
array_flip (PHP4 >= 4.0b4) 

array array_flip (array trans) 

將數(shù)組trans的key、value交換,就是key變value,而value變key了。 
返回完成處理的數(shù)組。 

例: 
$a[0]="abc"; 
$a[1]="def"; 
After an array_flip() you get: 
$a["abc"]=0; $a["def"]=1; 

//*************************** 
array_count_values (PHP4 >= 4.0b4) 

array array_count_values (array input) 
統(tǒng)計input數(shù)組中各個值的個數(shù)。返回一個數(shù)組,以input的值做為key,以出現(xiàn)個數(shù)為value的新數(shù)組。 

例: 
$array = array (1, "hello", 1, "world", "hello"); 
array_count_values ($array); 
// returns array (1=>2, "hello"=>2, "world"=>1) 

//***************************** 
array_merge (PHP4 ) 

array array_merge (array array1, array array2 [, array ...]) 
合并多個數(shù)組,把a(bǔ)rray2的內(nèi)容加在array1的后面。返回結(jié)果數(shù)組。 
如果是關(guān)聯(lián)數(shù)組,以字串為key,出現(xiàn)同名的key,則后面的會覆蓋前面的,而下標(biāo)數(shù)組不會出現(xiàn)覆蓋的現(xiàn)象,只是添加在后面。 

例: 
$array1 = array ("color" => "red", 2, 4); 
$array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4); 
array_merge ($array1, $array2); 
//Resulting array will be array("color" => "green", 2, 4, "a", "b", "shape" => "trapezoid", 4). 

See also array_merge_recursive(). 

//****************************** 
array_merge_recursive (PHP4 >= 4.0.1) 

array array_merge_recursive (array array1, array array2 [, array ...]) 
遞歸合并數(shù)組,與上個函數(shù)基本類似。區(qū)別在于,在關(guān)聯(lián)數(shù)組方面,它不是簡單地把相同的key合并,還是生成一個二維數(shù)組來合并這相同key的value。(表達(dá)不清,不好意思,看例子吧)。 

例: 
$ar1 = array ("color" => array ("favorite" => "red"), 5); 
$ar2 = array (10, "color" => array ("favorite" => "green", "blue")); 
$result = array_merge_recursive ($ar1, $ar2); 

//Resulting array will be array ("color" => array ("favorite" => array ("red", "green"), "blue"), 5, 10). 


明白了嗎?red,green被合并成一個新的數(shù)組了,放在favorite里。 

See also array_merge(). 

//******************************* 
array_intersect (PHP4 >= 4.0.1) 

array array_intersect (array array1, array array2 [, array ...]) 
取多個數(shù)組的交集,返回包含交集元素的新數(shù)組。 
以array1為基礎(chǔ)的,所以了,如果是關(guān)聯(lián)數(shù)組,那key值就是array1的了。見例子。 

例: 
$array1 = array ("a" => "green", "red", "blue"); 
$array2 = array ("b" => "green", "yellow", "red"); 
$result = array_intersect ($array1, $array2); 
//This makes $result have array ("a" => "green", "red"); 

See also array_diff(). 

//******************************************* 
array_diff (PHP4 >= 4.0.1) 

array array_diff (array array1, array array2 [, array ...]) 

與上個函數(shù)相反,這是取多個數(shù)組的差集了。 

例: 
$array1 = array ("a" => "green", "red", "blue"); 
$array2 = array ("b" => "green", "yellow", "red"); 
$result = array_diff ($array1, $array2); 

//This makes $result have array ("blue"); 

See also array_intersect(). 

//******************************************* 
array_keys (PHP4 ) 
array_values (PHP4) 

array array_keys (array input [, mixed search_value]) 
array array_values (array input) 

這兩個函數(shù)有關(guān)系,放在一起了。 
array_keys可以取出數(shù)組所有的key,如果定義了search_value,就只取相應(yīng)的key值。 
array_values取出數(shù)組input的所有value值。 

例: 

$array = array ("size" => "XL", "color" => "gold"); 
array_values ($array); // returns array ("XL", "gold") 

$array = array (0 => 100, "color" => "red"); 
array_keys ($array); // returns array (0, "color") 

$array = array ("blue", "red", "green", "blue", "blue"); 
array_keys ($array, "blue"); // returns array (0, 3, 4) 


//********************************************** 
array_multisort (PHP4 >= 4.0b4) 

bool array_multisort (array ar1 [, mixed arg [, mixed ... [, array ...]]]) 

對多個數(shù)組同時進(jìn)行排序,或是對一個多維數(shù)組進(jìn)行多個維的排序。(很有用哦,我上回在中文用戶就問了這個問題)。 

輸入的數(shù)組被處理成表的列,按行來排序,有點(diǎn)類似于sql語句中的order by條件。 
這個函數(shù)的參數(shù)不常見,但是很靈活??墒且粋€數(shù)組或是下面這幾個標(biāo)志。 

SORT_ASC - 升序 

SORT_DESC - 降序 

SORT_REGULAR - 常規(guī)比較 

SORT_NUMERIC - 數(shù)值比較 

SORT_STRING - 字串比較 


一個數(shù)組不可以同時給兩種類型的排序標(biāo)志(這個當(dāng)然了)。每個數(shù)組后的標(biāo)志只對此數(shù)組有效。缺省為 SORT_ASC 和 SORT_REGULAR 。 

如果正常,返回true,否則返回false。 

例1: 
$ar1 = array ("10", 100, 100, "a"); 
$ar2 = array (1, 3, "2", 1); 
array_multisort ($ar1, $ar2); 

//結(jié)果是 $ar1 = 10, "a", 100, 100. $ar2= 1, 1, 2, "3". 

例2: 
$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1)); 
array_multisort ($ar[0], SORT_ASC, SORT_STRING, 
$ar[1], SORT_NUMERIC, SORT_DESC); 

// after sorting, the first array will contain 10, 100, 100, "a" (it was sorted as strings in ascending order), and the second one will contain 1, 3, "2", 1 (sorted as numbers, in descending order). 

不過,上面這個例子我試了一下,不行,會報參數(shù)3要求是數(shù)組的錯誤。(???這個俺也不知了) 

如果你直接用 array_multisort($ar[0],SORT_ASC,$ar[1],SORT_DESC);可以。 


//****************************************** 
array_pop (PHP4 ) 
array_push 
array_shift 
array_unshift 

mixed array_pop (array array) 
int array_push (array array, mixed var [, mixed ...]) 
mixed array_shift (array array) 
int array_unshift (array array, mixed var [, mixed ...]) 

數(shù)組作為棧來用的函數(shù)。具體使用比較簡單了: 

pop彈出最后一個元素,返回元素值。 
push把參數(shù)var加入數(shù)組最后。返回位置。與$array[]=$var 功能相同。返回數(shù)組新的元素個數(shù)。 
shift把數(shù)組第一個元素彈出,其它順移一位,相當(dāng)于左位移。但數(shù)組元素個數(shù)減小1。返回彈出的元素。 
unshift在數(shù)組前面加入一個或多個元素,返回新的數(shù)組個數(shù)。 


Example 1. Array_pop() example 

$stack = array ("orange", "apple", "raspberry"); 
$fruit = array_pop ($stack); 
//After this, $stack has only 2 elements: "orange" and "apple", and $fruit has "raspberry". 


Example 2. Array_push() example 

$stack = array (1, 2); 
array_push ($stack, "+", 3); 
//This example would result in $stack having 4 elements: 1, 2, "+", and 3. 

Example 3. Array_shift() example 

$args = array ("-v", "-f"); 
$opt = array_shift ($args); 
//This would result in $args having one element "-f" left, and $opt being "-v". 


Example 4. Array_unshift() example 

$queue = array ("p1", "p3"); 
array_unshift ($queue, "p4", "p5", "p6"); 
//This would result in $queue having 5 elements: "p4", "p5", "p6", "p1", and "p3". 


//*************************************** 
array_rand (PHP4 >= 4.0.0) 

mixed array_rand (array input [, int num_req]) 

從數(shù)組中隨機(jī)選出一個或多個元素。參數(shù)num_req給出要選出的元素個數(shù),缺省為1。 
返回一個數(shù)組,內(nèi)容是所選出元素的key。 

事先要先調(diào)用 srand() 來產(chǎn)生隨機(jī)數(shù)種子。 

Example 1. Array_rand() example 

srand ((double) microtime() * 10000000); 
$input = array ("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); 
$rand_keys = array_rand ($input, 2); 
print $input[$rand_keys[0]]."\n"; 
print $input[$rand_keys[1]]."\n"; 

//************************************** 
array_reverse (PHP4 >= 4.0b4) 

array array_reverse (array input) 
返回一個新數(shù)組,把input的元素取相反次序。 

Example 1. Array_reverse() example 

$input = array ("php", 4.0, array ("green", "red")); 
$result = array_reverse ($input); 
//This makes $result have array (array ("green", "red"), 4.0, "php"). 

//**************************************** 

array_slice (PHP4 ) 

array array_slice (array array, int offset [, int length]) 
取一個數(shù)組的一部分,從offset開始,長度為length,缺省為到結(jié)束。 
返回一個新數(shù)組。 

offset若為正,從數(shù)組的offset位置開始,若為負(fù),則從數(shù)組的結(jié)尾倒數(shù)算起。 
length為正,是新數(shù)組的長度,為負(fù),則也是從數(shù)組的結(jié)尾倒數(shù)。 

Example 1. Array_slice() examples 

$input = array ("a", "b", "c", "d", "e"); 

$output = array_slice ($input, 2); // returns "c", "d", and "e" 
$output = array_slice ($input, 2, -1); // returns "c", "d" 
$output = array_slice ($input, -2, 1); // returns "d" 
$output = array_slice ($input, 0, 3); // returns "a", "b", and "c" 

//****************************************** 

array_splice (PHP4 ) 

array array_splice (array input, int offset [, int length [, array replacement]]) 

從數(shù)組中移去從offset開始,長度為length的部份,如果給出了replacement[]參數(shù),則用此參數(shù)來取代移去部份。 

對于offset、length的處理判斷,與上例相同。 
如果有replacement參數(shù),則用此參數(shù)來取代移去部份,如果沒有移去,則在offset位置插入。 

以下操作等效: 
array_push ($input, $x, $y) array_splice ($input, count ($input), 0, 
array ($x, $y)) 
array_pop ($input) array_splice ($input, -1) 
array_shift ($input) array_splice ($input, 0, 1) 
array_unshift ($input, $x, $y) array_splice ($input, 0, 0, array ($x, $y)) 
$a[$x] = $y array_splice ($input, $x, 1, $y) 

返回一個包含移去元素以后的新數(shù)組。 

Example 1. Array_splice() examples 

$input = array ("red", "green", "blue", "yellow"); 

array_splice ($input, 2); // $input is now array ("red", "green") 
array_splice ($input, 1, -1); // $input is now array ("red", "yellow") 
array_splice ($input, 1, count($input), "orange"); 
// $input is now array ("red", "orange") 
array_splice ($input, -1, 1, array("black", "maroon")); 
// $input is now array ("red", "green", 
// "blue", "black", "maroon") 

//*********************** 
array_unique (PHP4 >= 4.0.1) 

array array_unique (array array) 

從一個數(shù)組中移去重復(fù)的值。返回新的數(shù)組。 
如果是關(guān)聯(lián)數(shù)組,key以第一個為準(zhǔn)。 

Example 1. Array_unique() example 

$input = array ("a" => "green", "red", "b" => "green", "blue", "red"); 
$result = array_unique ($input); 
//This makes $result have array ("a" => "green", "red", "blue");. 

相關(guān)文章

最新評論