本文實(shí)例總結(jié)了php常用數(shù)組array函數(shù)。分享給大家供大家參考,具體如下:
array_combine
功能:用一個(gè)數(shù)組的值作為新數(shù)組的鍵名,另一個(gè)數(shù)組的值作為新數(shù)組的值
案例:
<?php$a = array("one","two","three");$b = array("一","二","三");$c = array_combine($a,$b);print_r($c);/**結(jié)果*Array ( [one] => 一 [two] => 二 [three] => 三 )*/array_chunk
功能:拆分?jǐn)?shù)組成多個(gè)數(shù)組
<?php$input_array = array("a"=>"apple","b"=>"blue","c","d","e");echo "<pre>";print_r(array_chunk($input_array, 2));print_r(array_chunk($input_array, 2,True));echo "</pre>";/**結(jié)果Array( [0] => Array ( [0] => apple [1] => blue ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ))Array( [0] => Array ( [a] => apple [b] => blue ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [2] => e ))*/array_count_values
功能:統(tǒng)計(jì)數(shù)組中值出現(xiàn)的次數(shù)
<?php$input_array = array("a"=>"apple","b"=>"blue","c","d","e");echo "<pre>";print_r(array_count_values($input_array));echo "</pre>";/**結(jié)果Array( [apple] => 1 [blue] => 1 [c] => 1 [d] => 1 [e] => 1)*/array_diff
功能:第一個(gè)數(shù)組中去掉第二個(gè)數(shù)組中有的數(shù)據(jù),返回剩下的內(nèi)容作為結(jié)果
<?php$array1 = array("a"=>"apple","b"=>"blue","c","d","e");$array2 = array("apple","c","d","f");$result = array_diff($array1, $array2);$result2 = array_diff($array2, $array1);echo "<pre>";print_r($result);//數(shù)組1中去掉數(shù)組2中剩下的print_r($result2);//數(shù)組2中去掉數(shù)組1中剩下的echo "</pre>";/**結(jié)果Array( [b] => blue [2] => e)Array( [3] => f)*/array_map
功能:將回調(diào)函數(shù)執(zhí)行到數(shù)組中
<?php//定義回調(diào)函數(shù)function cube($n){ return ($n*$n*$n);}$a = array(1,2,3,4,5);$b = array_map("cube",$a);echo "<pre>";print_r($b);echo "</pre>";/**結(jié)果Array( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125)*/array_merge
功能:合并一個(gè)或多個(gè)數(shù)組
說(shuō)明:如果后面有鍵名相同的會(huì)覆蓋掉前面的內(nèi)容,鍵名為數(shù)字的會(huì)添加到后面
<?php$array1 = array("color"=>"red",2,4);$array2 = array("a","b","color"=>"green","shape"=>"trapezoid",4);$result1 = array_merge($array1,$array2);$result2 = array_merge_recursive($array1,$array2);echo "<pre>";print_r($result1);print_r($result2);echo "</pre>";/**結(jié)果Array( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4)Array( [color] => Array ( [0] => red [1] => green ) [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4)*/array_pop
功能:剔除數(shù)組最后一個(gè)元素,返回被剔除的元素內(nèi)容
<?php$stack = array("orange","banana","apple","1");$last = array_pop($stack);echo "<pre>";print_r($stack);print_r($last);echo "</pre>";/**結(jié)果Array( [0] => orange [1] => banana [2] => apple)1*/array_push
功能:將一個(gè)多個(gè)單元壓入數(shù)組末尾,返回之后的數(shù)組個(gè)數(shù)
<?php$stack = array("orange","banana");$count = array_push($stack,"apple","red","blue");echo "<pre>";print_r($stack);print_r($count);echo "</pre>";/**結(jié)果Array( [0] => orange [1] => banana [2] => apple [3] => red [4] => blue)5*/array_rand
功能:獲取隨機(jī)的鍵名
<?php$input = array("orange","banana","apple","red","blue");$rand = array_rand($input,2);;print_r($rand);$rand = array_rand($input,3);print_r($rand);/**結(jié)果Array( [0] => 1 [1] => 4)Array( [0] => 0 [1] => 1 [2] => 3)*/array_search
功能:查詢數(shù)組中的內(nèi)容,返回鍵值,如果有多個(gè)匹配,返回第一個(gè)匹配的內(nèi)容
<?php$array = array("blue"=>"b","red"=>"r","green","r");$key = array_search('b', $array);echo $key;echo "<br>";$key = array_search('r', $array);echo $key;echo "<br>";/**結(jié)果bluered*/array_shift
功能:移除開(kāi)頭的元素,與array_pop相反
<?php$fruit = array("milk","orange","banana","apple");$top = array_shift($fruit);print_r($top);echo "<br>";print_r($fruit);/**結(jié)果milkArray ( [0] => orange [1] => banana [2] => apple )*/array_unique
功能:去除數(shù)組重復(fù)的元素,保留第一個(gè)出現(xiàn)的,包括鍵名和值
<?php$input = array("a"=>"green","red","b"=>"green","blue","c"=>"red");$result = array_unique($input);print_r($result);echo "<br>";print_r($input);/**結(jié)果Array ( [a] => green [0] => red [1] => blue )Array ( [a] => green [0] => red [b] => green [1] => blue [c] => red )*/array_slice
功能:從數(shù)組中取出部分元素
<?php$input = array("a","b","c","d","e");$output = array_slice($input,2);//第二個(gè)參數(shù)沒(méi)有時(shí),表示取到最后一個(gè)元素print_r($output);echo "<br>";$output = array_slice($input,-2,1);//第二個(gè)參數(shù)是正數(shù)時(shí),表示個(gè)數(shù);倒數(shù)第一個(gè)是-1,倒數(shù)第二個(gè)是-2print_r($output);echo "<br>";$output = array_slice($input,0,3);print_r($output);echo "<br>";$output = array_slice($input,2,-1);//第二個(gè)參數(shù)是負(fù)數(shù)時(shí),表示位置,取到哪一位,不包括本身print_r($output);echo "<br>";$output = array_slice($input,2,-1,true);//第三個(gè)參數(shù)為true時(shí),保留原有的鍵值print_r($output);echo "<br>";/**結(jié)果Array ( [0] => c [1] => d [2] => e )Array ( [0] => d )Array ( [0] => a [1] => b [2] => c )Array ( [0] => c [1] => d )Array ( [2] => c [3] => d )*/count
功能:返回?cái)?shù)組元素個(gè)數(shù),元素為數(shù)組的算一個(gè)
<?php$input = array("a","b","c",array("d","e"));$count = count($input);echo $count;echo "<br>";$input = array("a","b","c","d","e");$count = count($input);echo $count;/**結(jié)果45*/current
功能:獲取當(dāng)前的指針指向元素
<?php$array = array("foot","bike","car","plane");$result = current($array);echo $result."<br>";next($array);//使指針指向下一個(gè)元素$result = current($array);echo $result."<br>";prev($array);//使指針指向前一個(gè)元素$result = current($array);echo $result."<br>";end($array);//使指針指向最后一個(gè)元素$result = current($array);echo $result."<br>";/**結(jié)果footbikefootplane*/in_array
功能:檢驗(yàn)?zāi)持凳欠翊嬖跀?shù)組中,有返回True,沒(méi)有返回False
<?php$os_list = array("Mac","NT","Irix","Linux");if(in_array("Irix",$os_list)){ echo "當(dāng)前操作系統(tǒng)列表中存在Irix";}else{ echo "當(dāng)前操作系統(tǒng)列表中不存在Irix";}echo "<br>";if(in_array("mac",$os_list)){ echo "當(dāng)前操作系統(tǒng)列表中存在mac";}else{ echo "當(dāng)前操作系統(tǒng)列表中不存在mac";}echo "<br>";/**結(jié)果當(dāng)前操作系統(tǒng)列表中存在Irix當(dāng)前操作系統(tǒng)列表中不存在mac*/list
功能:將數(shù)組中的信息賦值給多個(gè)變量
<?php$info = array("red","blue","green");list($flag,$sky,$grassland) = $info;echo "$flag,$sky,$grassland";echo "<br>";list($flag,,$grassland) = $info;echo "$flag,$grassland";echo "<br>";list(,,$grassland) = $info;echo "$grassland";echo "<br>";/**結(jié)果red,blue,greenred,greengreen*/shuffle
功能:打亂數(shù)組
<?php$numbers = range(1,5);//生成一個(gè)隨機(jī)數(shù)組print_r($numbers);echo "<br/>";shuffle($numbers);//打亂數(shù)組print_r($numbers);/**結(jié)果Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )Array ( [0] => 4 [1] => 1 [2] => 5 [3] => 2 [4] => 3 )*/
array_keys
功能:獲取數(shù)組的鍵名,第二個(gè)參數(shù)可以指定獲取某個(gè)元素
<?php$array = array(0=>100,"color"=>"red");print_r(array_keys($array));echo "<br>";$array = array("blue","red","green","blue","blue");print_r(array_keys($array,"blue"));echo "<br>";$array = array("color"=>array("blue","red","green"),"size"=>array("small","medium","large"));print_r(array_keys($array));echo "<br>";/**結(jié)果Array ( [0] => 0 [1] => color )Array ( [0] => 0 [1] => 3 [2] => 4 )Array ( [0] => color [1] => size )*/array_reverse
功能:獲取數(shù)組的反向
<?php$input = array("php",3.0,array("green","red"));$result = array_reverse($input); //打亂鍵名$result_keyed = array_reverse($input,TRUE);//保留鍵名print_r($result);print_r($result_keyed);/**結(jié)果Array( [0] => Array ( [0] => green [1] => red ) [1] => 3 [2] => php)Array( [2] => Array ( [0] => green [1] => red ) [1] => 3 [0] => php)*/arsort
功能:逆向排序,索引不變
<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );arsort($fruits);//按照字符逆向排序或數(shù)字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**結(jié)果b = orangea = lemonc = bananad = apple*/asort
功能:進(jìn)行正向排序
<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );arsort($fruits);//按照字符逆向排序或數(shù)字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}echo "<p>";asort($fruits);//按照字符正向排序或數(shù)字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**結(jié)果b = orangea = lemonc = bananad = appled = applec = bananaa = lemonb = orange*/krsort
功能:按照鍵名進(jìn)行逆向排序
<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );krsort($fruits);//按照鍵名逆向排序或數(shù)字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**結(jié)果d = applec = bananab = orangea = lemon*/ksort
功能:按照鍵名進(jìn)行正向排序
<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );ksort($fruits);//按照鍵名正向排序或數(shù)字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**結(jié)果a = lemonb = orangec = bananad = apple*/rsort
功能:按照值進(jìn)行逆向排序,鍵名改變
<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );rsort($fruits);//按照值進(jìn)行逆向排序或數(shù)字,鍵名改變foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**結(jié)果0 = orange1 = lemon2 = banana3 = apple*/sort
功能:按照值進(jìn)行正向排序,鍵名改變
<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );sort($fruits);//按照值進(jìn)行逆向排序或數(shù)字,鍵名改變foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**結(jié)果0 = apple1 = banana2 = lemon3 = orange*/希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選