真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php中有什么數(shù)組函數(shù)

這篇文章將為大家詳細(xì)講解有關(guān)php中有什么數(shù)組函數(shù),小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

目前成都創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、克山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

header('content-type:text/html;charset=utf-8;');

/*小結(jié)數(shù)組的使用*/

#1.array():定義數(shù)組eg:

$arr1=array('a','b','c','d');

$arr3=array('c','d','e','f');

$arr2=array('kA1'=>'v1','kA2'=>'v2','kA3'=>'v3');

$arr4=array('kA1'=>'v1','kA2'=>'v2','kA3'=>'v3','kA4'=>'v4');

$arr5=array('kA1'=>'v1','kA2'=>'v1','kA3'=>'v4','kA4'=>'v4');

$arr6=array('kA1'=>'v1','kA2'=>'v1','kA3'=>'v4','kA4'=>'v3');

$arr7=array('kA1'=>'v1','kA2'=>'v1');

#2.array_change_key_case(array,case):函數(shù)將數(shù)組所有的KEY都轉(zhuǎn)換成大寫(xiě)或小寫(xiě)。數(shù)組的數(shù)字索引不發(fā)生變化。如果未提供可選參數(shù)(即第二個(gè)參數(shù))則默認(rèn)轉(zhuǎn)換為小寫(xiě)字母

//case可選值:CASE_LOWER,默認(rèn)值,以小寫(xiě)字母返回?cái)?shù)組的鍵;CASE_UPPER:以大寫(xiě)字母返回?cái)?shù)組的鍵

//注:如果在運(yùn)行過(guò)程中,兩個(gè)鍵相同,則最后一個(gè)將覆蓋前面的

echo '


1.array_change_key_case:
原數(shù)組:';

print_r($arr2);

echo '
大寫(xiě)鍵:';

print_r(array_change_key_case($arr2,CASE_UPPER));

echo '
小寫(xiě)鍵:';

print_r(array_change_key_case($arr2,CASE_LOWER));

#3.array_chunk(array,size,preserve_key):把數(shù)組分割為新的數(shù)組塊,size:新數(shù)組的大小,最后一個(gè)數(shù)組的單元數(shù)目可能會(huì)少幾個(gè)。preserve_key:bool,true,保留元數(shù)組的鍵名,false,分配新的數(shù)字鍵名

echo '


2.array_chunk:
原數(shù)組:';

print_r($arr2);

echo '
preserve_key,默認(rèn)值false:';

print_r(array_chunk($arr2,2));

echo '
preserve_key,true:';

print_r(array_chunk($arr2,2,true));

#4.arry_combine($arr1,$arr2):第一個(gè)數(shù)組的值做鍵,第二個(gè)數(shù)組的值做值,組成一個(gè)新數(shù)組,這兩個(gè)數(shù)組既可以是索引數(shù)組也可以是關(guān)聯(lián)數(shù)組,若兩個(gè)數(shù)組的個(gè)數(shù)不相等,則返回false,若有嵌套數(shù)組則轉(zhuǎn)化為Array字符串,并報(bào)一個(gè)Notice的錯(cuò)

echo '


3.array_combie:
原數(shù)組1:';

print_r($arr1);

echo '
原數(shù)組2:';

print_r($arr3);

echo '
新數(shù)組:';

$tarr=array_combine($arr1, $arr3);

print_r($tarr);

#5.array_count_value($arr1):本函數(shù)返回一個(gè)數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)

echo '


4.array_count_values:
原數(shù)組:';

print_r($arr5);

echo '
新數(shù)組:';

$tarr=array_count_values($arr5);

print_r($tarr);

#6.array_diff($arr1,$arr2,……):該函數(shù)返回兩個(gè)數(shù)組的差集數(shù)組,但是不在任何其他參數(shù)數(shù)組中的鍵值,在返回?cái)?shù)組中鍵名保持不變

echo '


5.array_diff(array1, array2):
原數(shù)組1:';

print_r($arr4);

echo '
原數(shù)組2:';

print_r($arr5);

echo '
新數(shù)組:';

$tarr=array_diff($arr4, $arr5);

print_r($tarr);

#7.array_diff_assc($arr1,$arr2,……):函數(shù)返回兩個(gè)數(shù)組的差集數(shù)組。該數(shù)組包括了所有在被比較的數(shù)組中,但是不在任何其他參數(shù)數(shù)組中的鍵和值。該函數(shù)和arry_diff_assc的區(qū)別是:本函數(shù)要求鍵名和鍵值都進(jìn)行比較。返回的數(shù)組中鍵名保持不變

echo '


6.array_diff_assoc(array1, array2):
原數(shù)組1:';

print_r($arr4);

echo '
原數(shù)組2:';

print_r($arr6);

echo '
新數(shù)組:';

$tarr=array_diff_assoc($arr4, $arr6);

print_r($tarr);

#8.array_diff_key($arr1,$arr2,……):函數(shù)返回兩個(gè)數(shù)組的差集數(shù)組。該數(shù)組包括了所有在被比較的數(shù)組中,但是不在任何其他參數(shù)數(shù)組中的鍵和值。該函數(shù)和arry_diff_assc的區(qū)別是:本函數(shù)要求鍵名和鍵值都進(jìn)行比較。返回的數(shù)組中鍵名保持不變

echo '


7.array_diff_key(array1, array2):
原數(shù)組1:';

print_r($arr4);

echo '
原數(shù)組2:';

print_r($arr7);

echo '
新數(shù)組:';

$tarr=array_diff_key($arr4, $arr7);

print_r($tarr);

#9.array_diff_uassoc:函數(shù)使用用戶自定義的回調(diào)函數(shù) (callback) 做索引檢查來(lái)計(jì)算兩個(gè)或多個(gè)數(shù)組的差集。返回一個(gè)數(shù)組,該數(shù)組包括了在 array1 中但是不在任何其他參數(shù)數(shù)組中的值。

#參數(shù) function 是用戶自定義的用來(lái)比較兩個(gè)數(shù)組的函數(shù),該函數(shù)必須帶有兩個(gè)參數(shù) - 即兩個(gè)要進(jìn)行對(duì)比的鍵名。因此與函數(shù) array_diff_assoc() 的行為正好相反,后者是用內(nèi)部函數(shù)進(jìn)行比較的。

echo '


8.array_diff_uassoc(array1, array2):
原數(shù)組1:';

function myfun($v1,$v2) 

{

if ($v1===$v2)

{

return 0;

}

if ($v1>$v2)

{

return 1;

}

else

{

return -1;

}

}

$a1=array(0=>"Dog",1=>"Cat",2=>"Horse");

print_r($a1);

$a2=array(3=>"Dog",1=>"Cat",5=>"Horse");

echo '
原數(shù)組2:';

print_r($a2);

echo '
新數(shù)組:';

print_r(array_diff_uassoc($a1,$a2,'myfun'));

#10.array_diff_ukey() 返回一個(gè)數(shù)組,該數(shù)組包括了所有出現(xiàn)在 array1 中但是未出現(xiàn)在任何其它參數(shù)數(shù)組中的鍵名的值。注意關(guān)聯(lián)關(guān)系保留不變。與 array_diff() 不同的是,比較是根據(jù)鍵名而不是值來(lái)進(jìn)行的。

#11.array_fill(start,num,value),該函數(shù)返回一個(gè)索引從start開(kāi)始,包含的num個(gè)value的數(shù)組;

echo '


9.array_fill(2, 5,"huge"):
';

$val='huge';

print_r(array_fill(2, 5, $val));

#12.array_filter(arr,fun),函數(shù)用回調(diào)函數(shù)過(guò)濾數(shù)組中的元素,如果回調(diào)函數(shù)返回真,則保留該元素,否則過(guò)濾掉

function filter1($v){

if($v=='v1'){

return false;

}

return true;

}

echo '


10.array_filter(arr,fun):
原數(shù)組1:';

print_r($arr2);

echo '
新數(shù)組:';

print_r(array_filter($arr2,'filter1'));

#13array_flip():該函將數(shù)組的鍵值互換,如果原數(shù)組中出現(xiàn)重復(fù)的鍵值,則最后一個(gè)值,將作為數(shù)組的值,其他的則將被丟棄,如果原函數(shù)中的鍵值出現(xiàn)非數(shù)字和字符串,該函數(shù)將報(bào)錯(cuò)

echo '


11.array_flip:
原數(shù)組:';

print_r($arr2);

echo '
新數(shù)組:';

print_r(array_flip($arr2));

#14.array_intersect($arr1,$arr2,……):該函數(shù)返回兩個(gè)或多個(gè)數(shù)組的交集數(shù)組,鍵名與第一個(gè)數(shù)組中鍵名保持一致

echo '


12.array_instersect(array1, array2):
原數(shù)組1:';

print_r($arr4);

echo '
原數(shù)組2:';

print_r($arr5);

echo '
新數(shù)組:';

$tarr=array_intersect($arr4, $arr5);

print_r($tarr);

#15.array_intersect_assoc($arr1,$arr2,……):該函數(shù)返回兩個(gè)或多個(gè)數(shù)組的交集數(shù)組,該函數(shù)除了比較值外還比較鍵

#16.array_intersect_key($arr1,$arr2,……):該函數(shù)使用鍵名比較來(lái)得到數(shù)組的交集

#17.array_intersect_uassoc($arr1,$arr2,……,function):該函數(shù)使用鍵名、值名比較來(lái)得到數(shù)組的交集

#18.array_intersect_ukey($arr1,$arr2,……,function):該函數(shù)使用鍵名比較來(lái)得到數(shù)組的交集

#19.array_key_exists():如果search中存在key則返回真,否則返回假

echo '


13.array_key_exists(key, search):
原數(shù)組:';

print_r($arr2);

echo '
結(jié)果:';

echo array_key_exists('kA1', $arr2);

#20.array_keys(arr,value),第二個(gè)參數(shù)可選,如果有則返回value對(duì)應(yīng)的鍵名構(gòu)成的數(shù)組,如果不填,則返回鍵名構(gòu)成的新數(shù)組

echo '


14.array_keys(key, search):
原數(shù)組:';

print_r($arr6);

echo '
默認(rèn)值:';

print_r(array_keys($arr6));

echo '
取單個(gè)key:';

print_r(array_keys($arr6,'v3'));

#21.array_map(fun,$arr1,$arr2,……):該函數(shù)根據(jù)fun,建立數(shù)組的映射關(guān)系,如果fun為null,則返回兩個(gè)數(shù)組組成的二維數(shù)組,如果為一個(gè)數(shù)組則根據(jù)數(shù)組的值,進(jìn)行對(duì)應(yīng)的輸出,如果是兩個(gè)數(shù)組,則進(jìn)行比較后輸出新的值,fun中參數(shù)的個(gè)數(shù)要和該函數(shù)數(shù)組的個(gè)數(shù)相同

function fun2($v){

if($v=='a'){

return 'this is a';

}

return $v;

}

function fun3($v1,$v2){

if($v1==$v2){

return 'Same';

}

return 'Diffrent';

}

echo '


15.array_map(callback, arr1):
原數(shù)組1:';

print_r($arr1);

echo '
原數(shù)組2:';

$tarr=array('a','b','e','f');

print_r($tarr);

echo '
一個(gè)數(shù)組';

echo '
fun:null,';

print_r(array_map(null, $arr1));

echo '
fun:fun2,';

print_r(array_map('fun2', $arr1));

echo '
兩個(gè)數(shù)組';

echo '
fun:null,';

print_r(array_map(null, $arr1,$tarr));

echo '
fun:fun3,';

print_r(array_map('fun3', $arr1,$tarr));

#22array_merge($arr1,$arr2,……):該函數(shù)將多個(gè)數(shù)組進(jìn)行合并,如果有相同的鍵名,

#則前面的值將被后面的覆蓋,如果是數(shù)字索引,則鍵名以連續(xù)的方式重新索引

#如果傳入一個(gè)數(shù)組,則該函數(shù)將該數(shù)組的數(shù)字鍵以數(shù)字索引的方式從0開(kāi)始進(jìn)行重新索引

$a1=array(1 =>'value1' ,2 =>'value2'  ,'k3' =>'value3','k4' =>'value4'  ,'k5' =>'value5');

$a2=array('ke1' =>'value1' ,'k2' =>'valu2'  ,'k3' =>'valu3','ke4' =>'valu4'  ,'k5' =>'valu5');

echo '


16.array_merge($arr1,$arr2):
原數(shù)組1:';

print_r($a1);

echo '
原數(shù)組2:';

print_r($a2);

echo '
一個(gè)數(shù)組:';

print_r(array_merge($a1));

echo '
兩個(gè)個(gè)數(shù)組:';

print_r(array_merge($a1,$a2));

#23.array_merge_recursive($a1,$a2,……),該函數(shù)同array_merge相同,只是當(dāng)出現(xiàn)重復(fù)鍵名時(shí),

#該函數(shù)將以遞歸的形式生成一個(gè)子數(shù)組

echo '


17.array_merge_recursive($arr1,$arr2):
原數(shù)組1:';

print_r($a1);

echo '
原數(shù)組2:';

print_r($a2);

echo '
結(jié)果:';

print_r(array_merge_recursive($a1,$a2));

#24.array_multy_sort():函數(shù)可以對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序

#參數(shù)中數(shù)組被當(dāng)成一個(gè)表的列并以行來(lái)進(jìn)行排序,第一個(gè)參數(shù)是要排序的主要數(shù)組。

#如果數(shù)組中行(值)比較為相同的話,就會(huì)按照下一個(gè)輸入數(shù)組中相應(yīng)值的到校進(jìn)行排序,一次類(lèi)推

#第一個(gè)參數(shù)是數(shù)組,隨后每一個(gè)參數(shù)可能是數(shù)組,以可能是下面的排序標(biāo)識(shí)

#SORT_ASC:默認(rèn),升序

#SORT_DESC:降序

#隨后可以指定排序的類(lèi)型

#SORT_REGULAR:默認(rèn),將每一項(xiàng)按照常規(guī)順序進(jìn)行排序

#SORT_NUMERIC:將每一項(xiàng)按照數(shù)字書(shū)序排序

#SORT_STRING:將每一項(xiàng)按照字母順序排序

#注:字符串鍵名將會(huì)被保留,數(shù)字鍵名將會(huì)從0開(kāi)始以1逐漸遞增進(jìn)行重新索引

#排序類(lèi)型只能指定一種

echo '


18.array_multisort(arr,order,type,arr2):
原數(shù)組1:';

$a1 = array('a' => 'B1','c'=>'A' );

$a3 = array('a' => 'B1','c'=>'A' );

print_r($a1);

echo '
原數(shù)組2:';

$a2= array('m' => 'X','f'=>'U' );

print_r($a2);

echo '
$a1結(jié)果:';

array_multisort($a1);

print_r($a1);

echo '
$a1,$a2結(jié)果:';

array_multisort($a3,$a2);

print_r($a3);

print_r($a2);

echo '
$a1,$a2降序結(jié)果:';

array_multisort($a3,SORT_ASC,SORT_STRING,$a2);

print_r($a3);

print_r($a2);

#25.array_pad($arr,size,valu),函數(shù)向一個(gè)數(shù)組中插入帶有指定值的指定

#數(shù)量的元素

#如果size是負(fù)的長(zhǎng)度值,則填補(bǔ)到左側(cè),反之填補(bǔ)到右側(cè),如果size小于數(shù)

#組的長(zhǎng)度該函數(shù)不會(huì)刪除任何元素

echo '


19.array_pad(input, pad_size, pad_value):
原數(shù)組1:';

$ar1=array('a','s','d');

print_r($ar1);

$val='填充值';

echo '
正值結(jié)果:';

print_r(array_pad($ar1,5,$val));

echo '
負(fù)值結(jié)果:';

print_r(array_pad($ar1,-5,$val));

#26.array_pop($arr),刪除數(shù)組中的最后一個(gè)元素,并返回被刪除的元素

echo '


20.array_pop(array):
原數(shù)組:';

$ar1=array('a','s','d');

print_r($ar1);

echo '
被刪除的元素,結(jié)果:';

echo array_pop($ar1);

echo '
刪除后的數(shù)組,結(jié)果:';

print_r(array_pop($ar1));

#27.array_product($arr):函數(shù)計(jì)算并返回?cái)?shù)組的乘積,如果數(shù)組是非數(shù)字則返回0,

#該數(shù)組可以使多維數(shù)組

$tarr=array(1,2,3,array(1,2,3));

echo '


21.array_product(array):
原數(shù)組:';

$res=array_product($tarr);

echo '結(jié)果:'.$res;

#28.array_push($arr,$va1,$va2……):函數(shù)將多個(gè)值壓入數(shù)組

echo '


22.array_push(array):
原數(shù)組:';

$ar1=array('a','s','d');

print_r($ar1);

echo '
結(jié)果:';

array_push($ar1,'huge','huge2');

print_r($ar1);

#29.array_rand($arr,num):函數(shù)從數(shù)組中隨機(jī)選出一個(gè)或多個(gè)元素并返回。

#第二個(gè)參數(shù)用來(lái)確定要選出元素的個(gè)數(shù),如果不止一個(gè),則返回包含隨機(jī)

#鍵名的數(shù)組,否則返回該元素的鍵名

echo '


23.array_rand(array,num):
原數(shù)組:';

$a1=array(1 =>'value1' ,2 =>'value2'  ,'k3' =>'value3','k4' =>'value4'  ,'k5' =>'value5');

print_r($a1);

echo '
取1個(gè),結(jié)果:';

echo array_rand($a1);

echo '
取3個(gè),結(jié)果:';

print_r(array_rand($a1,3));

#30.array_reduce():函數(shù)用回調(diào)函數(shù)迭代第將數(shù)組簡(jiǎn)化為單一的值,如果指定第三個(gè)

#參數(shù)則該參數(shù)將被當(dāng)做是數(shù)組中的第一個(gè)值來(lái)處理,或則如果數(shù)組為空的話就作為最終的返回值

function myfun4($v1,$v2){

echo '
';

echo $v1.':'.$v2;

return $v1.'-'.$v2;

}

echo '


24.array_reduce(array,num):
原數(shù)組:';

$arr=array('Dog','Cat','Horse');

print_r(array_reduce($arr,'myfun4','初始值'));

#31.array_reverse:該函數(shù)將數(shù)組中的順序翻轉(zhuǎn),創(chuàng)建新的數(shù)組并返回,

#如果是索引數(shù)組,若第二個(gè)參數(shù)指定為true,則元素的鍵名保持不變,否則鍵名將丟失(默認(rèn))

echo '


25.array_reverse(array,preserve):
原數(shù)組1:';

$arr=array('a'=>'Dog','b'=>'Cat','c'=>'Horse');

print_r($arr);

$arr1=array('Dog','Cat','Horse');

echo '
數(shù)組2:';

print_r($arr1);

echo '
關(guān)聯(lián)數(shù)組:';

print_r(array_reverse($arr));

echo '
索引數(shù)組:';

print_r(array_reverse($arr1,false));

#32.array_search(val,arr,strict):在數(shù)組中查找一個(gè)鍵值,如果找到了返回該鍵值對(duì)應(yīng)的鍵名

#反之,則返回false,當(dāng)?shù)谌齻€(gè)參數(shù)被指定為true時(shí),當(dāng)數(shù)據(jù)類(lèi)型和值都相等的情況下才返回對(duì)應(yīng)的鍵值

echo '


26.array_search:
原數(shù)組:';

$arr=array('a'=>'Dog','b'=>'Cat','c'=>'Horse');

print_r($arr);

echo '
結(jié)果:';

echo array_search('Dog',$arr);

echo '
結(jié)果:';

#33.array_shift(arr):函數(shù)刪除數(shù)組中的第一個(gè)元素并返回該元素對(duì)應(yīng)的值

#如果是索引數(shù)組,所有元素將獲得新的鍵,從0開(kāi)始,并以1遞增

echo '


27.array_shift:
原數(shù)組:';

$arr=array('a'=>'Dog','b'=>'Cat','c'=>'Horse');

print_r($arr);

echo "
函數(shù)返回值";

echo array_shift($arr);

echo '
:數(shù)組輸出結(jié)果:';

print_r($arr);

#34.array_slice(arr,offset,length,preserve):函數(shù)在數(shù)組中取一段值,并返回,如果是索引數(shù)組則保留原來(lái)的鍵名

#arr:規(guī)定輸入的數(shù)組

#offset:規(guī)定取出元素的開(kāi)始位置,如果是正數(shù),則從前往后數(shù),負(fù)數(shù),則從后往前

#length:可選,數(shù)值規(guī)定返回?cái)?shù)組的長(zhǎng)度。如果是負(fù)數(shù),則從后向前,選取該絕對(duì)值數(shù)目的元素。如果未設(shè)置該值,則返回所有元素

#preserve:可選值,true保留鍵,false:默認(rèn),重置鍵

echo '


28.array_slice:
原數(shù)組:';

$arr=array('a'=>'Dog','b'=>'Cat','c'=>'Horse');

print_r(array_slice($arr,-2,1));

#35.array_splice(arr,offset,length,arr2):與array_slice()函數(shù)類(lèi)似,選擇數(shù)組中的一系列元素,但不返回,而是刪除它們并用其他值替代

#如果提供了第四個(gè)參數(shù),則之前選中的那些元素將被第四個(gè)參數(shù)指定的數(shù)組取代

#關(guān)聯(lián)數(shù)組,填入到新數(shù)組后將會(huì)按所以數(shù)組的形式重新索引

echo '


29.array_splice:
原數(shù)組:';

$arr=array('a'=>'Dog','b'=>'Cat','c'=>'Horse','e'=>'Pig');

$arr2=array('b'=>'Ha','c'=>'Hu');

$tarr=array_splice($arr,0,3,$arr2);

print_r($arr);

echo '
被剪切的部分:';

print_r($tarr);

echo '
:剪切后的數(shù)組:';

print_r($arr);

#36.array_sum():函數(shù)返回?cái)?shù)組中所有值的總和,字符串將被轉(zhuǎn)換為整數(shù)

$arr=array('a'=>"4",1=>"5",2=>6);

echo '


30.array_sum:
原數(shù)組:';

print_r($arr);

echo '
結(jié)果:';

echo array_sum($arr);

#37.array_udiff()函數(shù)返回一個(gè)數(shù)組,該數(shù)組包括了所有在被比較數(shù)組中,

#但是不在任何其他參數(shù)數(shù)組中的值,鍵名暴力與不變

#數(shù)據(jù)的比較式用array_diff函數(shù)的function進(jìn)行的,function函數(shù)帶有兩個(gè)將

#進(jìn)行比較的。function函數(shù)帶有兩個(gè)將進(jìn)行比較的參數(shù)。如果第一個(gè)參數(shù)小于第

#二個(gè)參數(shù),則函數(shù)返回一個(gè)負(fù)數(shù),如果兩個(gè)參數(shù)相等,則返回0,如果第一個(gè)參數(shù)

#大于第二個(gè),則返回一個(gè)正數(shù)

function myfun5($v1,$v2){

/*

echo '
';

echo "$v1:$v2";

echo '
';

*/

if($v1==$v2){

return 0;

}

return 1;

}

echo '


30.array_udiff:
原數(shù)組1:';

$a1=array('a'=>'Cat','b'=>'Bug1','c'=>'Horse1','d'=>'Horse_1');

print_r($a1);

$a2=array('Bug2','Cat','Fish');

echo '
原數(shù)組2:';

print_r($a2);

echo '
結(jié)果:';

print_r(array_udiff($a1,$a2,'myfun5'));

#38.array_udiff_assoc:函數(shù)返回arr1中存在但其他數(shù)組都不存在的部分。函數(shù)要比較鍵、值;

echo '


31.array_udiff_assoc:
原數(shù)組1:';

$a1=array('a'=>'Cat','b'=>'Bug1','c'=>'Horse1','d'=>'Horse_1');

print_r($a1);

$a2=array('Bug2','a'=>'Cat','Fish');

echo '
原數(shù)組2:';

print_r($a2);

echo '
結(jié)果:';

print_r(array_udiff_assoc($a1,$a2,'myfun5'));

#39.array_udiff_uassoc:函數(shù)返回 array1 數(shù)組中存在但其它數(shù)組中都不存在的部分。返回的數(shù)組中鍵名保持不變。

function myfunction_key($v1,$v2) 

{

if ($v1===$v2)

{

return 0;

}

return 1;

}

function myfunction_value($v1,$v2) 

{

if ($v1===$v2)

{

return 0;

}

return 1;

}

echo '


32.array_udiff_uassoc:
結(jié)果:';

$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");

$a2=array("a"=>"Cat","b"=>"Dog","c"=>"Fish");

print_r(array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value"));

#40.array_uintersect():函數(shù)計(jì)算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)

function myfunction($v1,$v2) 

{

if ($v1===$v2)

  {

  return 0;

  }

if ($v1 > $v2) return 1;

  {

  return -1;

  }

return 1;

}

echo '


33.array_uintersect:
結(jié)果:';

$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");

$a2=array(1=>"Cat",2=>"Dog",3=>"Fish");

print_r(array_uintersect($a1,$a2,"myfunction"));

#41.array_uintersect_assoc:與 array_uintersect() 不同的是鍵名也要比較。數(shù)據(jù)(鍵值)是用回調(diào)函數(shù)比較的。

function myfunction1($v1,$v2) 

{

if ($v1===$v2)

{

return 0;

}

return 1;

}

$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");

$a2=array("a"=>"Cat","b"=>"Horse","c"=>"Dog");

echo '


34.array_uintersect_assoc:
結(jié)果:';

print_r(array_uintersect_assoc($a1,$a2,"myfunction1"));

#42.array_uniqe():函數(shù)移除數(shù)組中的重復(fù)發(fā)的值,當(dāng)幾個(gè)數(shù)組的值相等時(shí),只保留第一個(gè)元素,其他元素被刪除,

#返回?cái)?shù)組中的鍵名保持不變

echo '


35.array_unique(array):
原數(shù)組:';

$a=array('a'=>'Cat','b'=>'Dog','c'=>'Cat');

print_r($a);

echo '
結(jié)果:';

print_r(array_unique($a));

#43.array_unshift()函數(shù):函數(shù)在數(shù)組開(kāi)頭插入一個(gè)或多個(gè)元素。

#被加入的元素作為一個(gè)整體添加,這些元素在數(shù)組中的順序一樣。

#該函數(shù)會(huì)返回?cái)?shù)組中元素的個(gè)數(shù)

echo '


36.array_unshift:
原數(shù)組:';

$a=array('a'=>'Cat','b'=>'Dog');

print_r($a);

echo '
結(jié)果:數(shù)組個(gè)數(shù),';

echo array_unshift($a,'Horse');

echo ';數(shù)組,';

print_r($a);

#44.array_values:函數(shù)返回一個(gè)包含給定數(shù)組中所有鍵值的數(shù)組,但不保留鍵名

echo '


37.array_values:
原數(shù)組:';

$a=array('a'=>'Cat','b'=>'Dog');

print_r($a);

echo '
結(jié)果:';

print_r(array_values($a));

#45.array_walk():函數(shù)對(duì)數(shù)組中的每個(gè)元素應(yīng)用回調(diào)函數(shù),如果成功返回TRUE,反之返回false

#典型情況下function接受兩個(gè)參數(shù),array參數(shù)的值作為第一個(gè),鍵名作為第二個(gè),如果提

#了可選參數(shù)userdata,將被作為第三個(gè)參數(shù)傳遞給回調(diào)函數(shù)

#如果function函數(shù)需要的參數(shù)比給出的多,則每次array_walk調(diào)用function時(shí)都會(huì)產(chǎn)生一個(gè)E_WARNING

#級(jí)的錯(cuò)誤。這些警告可以通過(guò)在array_walk()調(diào)用前加上php的錯(cuò)誤操作符@來(lái)抑制,或者用error——reporting()

echo '


38.array_walk:
原數(shù)組:';

function myfun6($v,$k){

echo "
The key $k has the value $v
";

}

$a=array('a'=>'Cat','b'=>'Dog','c'=>'Horse');

print_r($a);

echo '
結(jié)果:';

array_walk($a,'myfun6');

function myfun7($value,$key,$p) 

{

echo "$key $p $value
";

}

array_walk($a,"myfun7","has the value");

#46.array_walk_recursive():函數(shù)與array_walk不一樣的是,如果原數(shù)組中的元素也是數(shù)組,就會(huì)遞歸地調(diào)用回調(diào)函數(shù)

echo '


39.array_walk:
原數(shù)組:';

$a1=array("a"=>"Cat","b"=>"Dog");

$a2=array($a1,"1"=>"Bird","2"=>"Horse");

print_r($a2);

array_walk_recursive($a2,"myfun6");

#47.array_arsort(arr,sorttype):函數(shù)對(duì)數(shù)組進(jìn)行你想排序并保持索引關(guān)系。主要用于對(duì)那些單元順序很重要的結(jié)合數(shù)組進(jìn)行排序

#可選的第二個(gè)參數(shù)包含了附加的排序標(biāo)識(shí),如果成功則返回true,反之返回false。

#其中sorttype的可能值有:

#SORT_REQULAR-默認(rèn)。以他們?cè)瓉?lái)的類(lèi)型進(jìn)行處理(不改變類(lèi)型)

#SORT_NUMERIC,把值作為數(shù)字來(lái)處理

#SORT_STRING,把值作為字符串來(lái)處理

#SORT_LOCAL_STRING,把值作為字符串來(lái)處理,基于本地設(shè)置

echo '


40.array_arsort:
原數(shù)組:';

$a1=array("a"=>"Cat","b"=>"Dog");

print_r($a1);

echo '
結(jié)果:';

arsort($a1);

print_r($a1);

#48.array_sort(arr,sorttype):對(duì)數(shù)組進(jìn)行正向排序,參數(shù)同上

echo '


41.array_arsort:
原數(shù)組:';

$a1=array("b"=>"Dog","a"=>"Cat");

print_r($a1);

echo '
結(jié)果:';

asort($a1);

print_r($a1);

#49.compact()函數(shù)創(chuàng)建一個(gè)由參數(shù)所帶變量組成的數(shù)組。如果參數(shù)中存在數(shù)組,該數(shù)組中變量的值也被獲取

#本函數(shù)返回一個(gè)關(guān)聯(lián)數(shù)組,鍵名為函數(shù)參數(shù),鍵值為參數(shù)中變量的值;

#compact(var1,var2),中參數(shù)可以是帶變量名的字符串,或者是一個(gè)變量數(shù)組

#注:任何沒(méi)有變量名與之對(duì)應(yīng)的字符串都被略過(guò)

echo '


42.compact(var1,var2...):
結(jié)果:';

$first='LI';

$last='Huge';

//$none='';//有空值

$arr=compact('first','last','none');

print_r($arr);

#50.count():函數(shù)計(jì)算數(shù)組匯總的單元數(shù)目或?qū)ο笾袑傩詡€(gè)數(shù)

#對(duì)于數(shù)組返回其元素的個(gè)數(shù),對(duì)于其他值,返回1.

#如果參數(shù)是變量,而變量沒(méi)定義,則返回0如果mode設(shè)置為COUNT_RECURSIVE(或1),則會(huì)遞歸

echo '


43.count(array,mode):
原數(shù)組:';

$b1=array("c"=>"Dog","d"=>"Cat");

$a1=array("b"=>"Dog","a"=>"Cat",$b1);

print_r($a1);

echo "
默認(rèn)結(jié)果:";

echo count($a1);

echo "
檢測(cè)多維數(shù)組結(jié)果:";

echo count($a1,COUNT_RECURSIVE);

#51.current():函數(shù)返回?cái)?shù)組中的當(dāng)前元素

#每個(gè)數(shù)組內(nèi)部都有一個(gè)內(nèi)部指針指向它當(dāng)前的元素,初始指向插入到數(shù)組中第一個(gè)元素

#該函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組元素,并不移動(dòng)指針,如果內(nèi)部指針指向超出了單元列表的末端

#,current()返回false

echo '


44.current():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

echo current($a1);

#51.each():函數(shù)生成一個(gè)由數(shù)組內(nèi)部指針?biāo)赶虻脑氐逆I名和鍵值組成的數(shù)組,并把內(nèi)部指針向前移動(dòng),如果內(nèi)部指針越界返回false

#0,key指向當(dāng)前數(shù)組元素鍵名,1,value指向當(dāng)前數(shù)組元素的鍵值

echo '


45.each():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

print_r(each($a1));

#52.end():函數(shù)將數(shù)組內(nèi)部指針指向最后一個(gè)元素,并返回該元素的值(如果成功)

echo '


46.end():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

echo end($a1);

#53.extract(arr,type,prefix):函數(shù)從數(shù)組中把變量導(dǎo)入到當(dāng)前的符號(hào)表中

#對(duì)數(shù)組中的每個(gè)元素,鍵名用于變量名,鍵值用于變量值。

#type用于指定當(dāng)變量已經(jīng)存在,而數(shù)組中又有同名元素時(shí),函數(shù)如何對(duì)待這樣的沖突

#函數(shù)返回成功設(shè)置的變量數(shù)目

#extract_rules可選值:函數(shù)將檢查每個(gè)鍵名是否合法,同時(shí)也檢查和符號(hào)表中的變量名是否沖突

#EXTR_OVERWRITE,默認(rèn),如果存在,則覆蓋已有變量

#EXTR_SKIP,如果存在不覆蓋已有的變量,忽略數(shù)組中的同名元素

#EXTR_PREFIX_SAME,如果有沖突,在變量名前加上前綴

#EXTR_PREFIX_ALL,給所有的變量名加上前綴

#EXTR_PREFIX_INVALID,僅在非法會(huì)數(shù)字變量名前加上前綴

#EXTR_IF_EXISTS,僅在當(dāng)前符號(hào)表中已有同名變量時(shí),覆蓋他們的值。其他都不做處理

#EXTR_PREFIX_IF_EXISTS,僅在當(dāng)前符號(hào)表中已有同名變量時(shí),建立附加前綴的變量名

#EXTR_PRFS,將變量作為引用提取

#prefix僅在type包含PREFIX時(shí)有效,如果附加了前綴后結(jié)果依然不合法,結(jié)果將不會(huì)導(dǎo)入到符號(hào)表中

#前綴和數(shù)組鍵名之間會(huì)自動(dòng)加上一個(gè)下劃線

echo '


47.extract():
原數(shù)組:';

$c='章魚(yú)';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
默認(rèn)結(jié)果:";

extract($a1);

echo $c.','.$d;

#54.in_array(value,arr,type):在數(shù)組中搜索給定的值

#如果type設(shè)置為true,則搜索的值存在于數(shù)組中并且類(lèi)型相同時(shí),才會(huì)返回true

echo '


48.in_array():
原數(shù)組:';

$a1=array("c"=>"1","d"=>"Cat");

print_r($a1);

$c=1;

echo "
結(jié)果1:";

echo in_array($c,$a1);

#55.key($arr):函數(shù)返回?cái)?shù)組中的當(dāng)前元素的鍵值

echo '


49.key():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

echo key($a1);

#56.krsort(arr,sorttype):函數(shù)將數(shù)組按鍵逆向排序,為數(shù)組保留原來(lái)的鍵

echo '


50.krsort():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

krsort($a1);

print_r($a1);

#57.ksort(arr,sorttype):函數(shù)將數(shù)組按鍵正向排序,為數(shù)組保留原來(lái)的鍵

echo '


51.ksort():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat","a"=>"Horse");

print_r($a1);

echo "
結(jié)果:";

ksort($a1);

print_r($a1);

#58.list(var1,var2...):函數(shù)用數(shù)組中的元素為一組變量賦值

#函數(shù)只用于數(shù)字索引數(shù)組,切假定數(shù)字索引從0開(kāi)始

echo '


52.list():
原數(shù)組:';

$a1=array("Dog","Cat");

print_r($a1);

echo "
結(jié)果:";

list($a,$b)=$a1;

echo $a;

#59.natcasesort()函數(shù)用不區(qū)分大小寫(xiě)的自然順序算法對(duì)給定數(shù)組中元素排序

#自然排序:數(shù)字從1到9字母從a-z短者優(yōu)先,該函數(shù)不區(qū)分大小寫(xiě)。

#natcasesort是natsort不區(qū)分大小寫(xiě)字母的版本

#如果成功,則返回true,反之,返回false

echo '


53.natcasesort():
原數(shù)組:';

$a1= array("temp15.txt","Temp10.txt","temp1.txt","Temp22.txt","temp2.txt");

print_r($a1);

echo "
natsort結(jié)果:";

natsort($a1);

print_r($a1);

echo '
natcasesort結(jié)果:';

$a1= array("temp15.txt","Temp10.txt","temp1.txt","Temp22.txt","temp2.txt");

natcasesort($a1);

print_r($a1);

#60.next():函數(shù)把指向當(dāng)前元素的指針移動(dòng)到下一個(gè)元素,并返回當(dāng)前元素的值

#如果內(nèi)部指針已經(jīng)超過(guò)數(shù)組的最后一個(gè)元素,函數(shù)返回一個(gè)false

#注:如果數(shù)組包含空的單元,或者單元的值是 0 則該函數(shù)碰到這些單元也返回 FALSE。要正確遍歷可能含有空單元或者單元值為 0 的數(shù)組

echo '


54.next():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

echo next($a1);

#61.pos(arr):pos是current()的別名,他返回當(dāng)前元素的值;

#62.prev(arr):同next(arr),函數(shù)把指向當(dāng)前元素的指針移動(dòng)到上一個(gè)元素的位置,并返回當(dāng)前元素的值,

#注意事項(xiàng)同next

echo '


55.prev():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat");

print_r($a1);

echo "
結(jié)果:";

next($a1);

echo prev($a1);

#63.range(first,second,step):函數(shù)創(chuàng)建并返回一個(gè)包含指定范圍的元素的數(shù)組

#first,數(shù)組元素的最小值

#second,規(guī)定數(shù)組元素的最大值

#step,規(guī)定元素之間的步進(jìn)制,默認(rèn)是1

#該函數(shù)創(chuàng)建一個(gè)數(shù)組,包含從first到second(包含first和second)之間的整數(shù)或

#字符,如果first比second小則返回反序的數(shù)組

echo '


56.range(first,second,step):
結(jié)果:';

$a=range('a','d',2);

print_r($a);

#64.reset(arr):函數(shù)把數(shù)組內(nèi)部指針指向第一個(gè)元素并返回這個(gè)元素的值

echo '


57.reset(arr):
原數(shù)組:';

$a=array('a','d',2);

print_r($a);

next($a);

echo '
當(dāng)前值:';

echo current($a);

echo '
重置后:';

echo reset($a);

#65.rsort(arr,sorttype):函數(shù)對(duì)數(shù)組的元素按照鍵值進(jìn)行逆向排序,sorttype類(lèi)型同asort

echo '


58.rsort(arr,storttype):
原數(shù)組:';

$a=array('a','d',2);

print_r($a);

echo '
結(jié)果:';

rsort($a);

print_r($a);

#66.shuffle()函數(shù)把數(shù)組中的元素按隨機(jī)順序重新排列,若成功返回true,否則返回false

#注:本函數(shù)為數(shù)組中單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序

echo '


59.shuffle():
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat","a"=>"Horse");

print_r($a1);

echo '
結(jié)果:';

shuffle($a1);

print_r($a1);

#67.sizeof(arr,mode):函數(shù)計(jì)算數(shù)組中單元數(shù)目或?qū)ο笾袑傩詡€(gè)數(shù),count()的別名

#68.sort()函數(shù)按升序?qū)o定數(shù)組的值進(jìn)行排序,本函數(shù)為數(shù)組的單元賦予新的鍵名,原有的鍵名將被刪除

echo '


60.sort(arr,sorttype):
原數(shù)組:';

$a1=array("c"=>"Dog","d"=>"Cat","a"=>"Horse");

print_r($a1);

echo '
結(jié)果:';

sort($a1);

print_r($a1);

#69.uasort(arr,fun):函數(shù)用用戶自定義的比較函數(shù)對(duì)數(shù)組排序,并保持索引關(guān)聯(lián)

#uksort(arr,fun):函數(shù)使用戶自定義的比較函數(shù)按照鍵名對(duì)數(shù)組排序,并保持索引關(guān)系

#usort(arr,fun)函數(shù)用用戶自定義的函數(shù)對(duì)數(shù)組排序,會(huì)刪除原有的鍵名

#其中fun是用戶自定義函數(shù),函數(shù)設(shè)計(jì)必須為返回-1,0,1并接受兩個(gè)供比較的參數(shù),同時(shí)以類(lèi)

#似下面的方式來(lái)工作

#a=b,返回0

#a>b,返回1

#a

function myfun8($a,$b){//逆向排序

echo "
$a:$b
";

if($a==$b){

return 0;

}elseif($a>$b){

return -1;

}else{

return 1;

}

}

$a1=array("c"=>"Dog","d"=>"Cat","a"=>"Horse","c1"=>"Dog1","d1"=>"Cat1","a1"=>"Horse1");

echo '


70.uasort,uksort,usort:
原數(shù)組:';

print_r($a1);

echo '
uasort(array, cmp_function):';

uasort($a1,'myfun8');

print_r($a1);

echo '
uksort(array, cmp_function):';

$a1=array("c"=>"Dog","d"=>"Cat","a"=>"Horse");

uksort($a1,'myfun8');

print_r($a1);

echo '
usort(array, cmp_function):';

$a1=array("c"=>"Dog","d"=>"Cat","a"=>"Horse");

usort($a1,'myfun8');

print_r($a1);

關(guān)于“php中有什么數(shù)組函數(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


分享標(biāo)題:php中有什么數(shù)組函數(shù)
新聞來(lái)源:http://weahome.cn/article/gojhjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部