我們手頭的PHP資料不多,大家是不是都有一份php4gb.chm。我最欣賞它裡面的函數庫部分了,真正的在線幫助。但是PHP發展的腳步實在太快了,你睢,我最近在www.php.net/manual/ 又找到了一些擴展的數組函數。
下面我把它們介紹給大家吧,我的英文水平不高,有譯的不對的地方,請指正。
格式是這樣的:
函數名 支持版本
函數聲明
說明及參數、返回值
例子
OK,Let's go.
//*************************
array_flip (PHP4 >= 4.0b4)
array array_flip (array trans)
將數組trans的key、value交換,就是key變value,而value變key了。
返回完成處理的數組。
例:
$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)
統計input數組中各個值的個數。返回一個數組,以input的值做為key,以出現個數為value的新數組。
例:
$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 ...])
合並多個數組,把array2的內容加在array1的後面。返回結果數組。
假如是關聯數組,以字串為key,出現同名的key,則後面的會覆蓋前面的,而下標數組不會出現覆蓋的現象,只是添加在後面。
例:
$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 ...])
遞歸合並數組,與上個函數基本類似。區別在於,在關聯數組方面,它不是簡單地把相同的key合並,還是生成一個二維數組來合並這相同key的value。(表達不清,不好意思,看例子吧)。
例:
$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被合並成一個新的數組了,放在favorite裡。
See also array_merge().
//*******************************
array_intersect (PHP4 >= 4.0.1)
array array_intersect (array array1, array array2 [, array ...])
取多個數組的交集,返回包含交集元素的新數組。
以array1為基礎的,所以了,假如是關聯數組,那key值就是array1的了。見例子。