溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中有哪些數(shù)組array函數(shù)

發(fā)布時間:2021-08-12 15:06:22 來源:億速云 閱讀:87 作者:Leah 欄目:開發(fā)技術(shù)

php中有哪些數(shù)組array函數(shù),針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

array_combine

功能:用一個數(shù)組的值作為新數(shù)組的鍵名,另一個數(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

功能:拆分數(shù)組成多個數(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)計數(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

功能:第一個數(shù)組中去掉第二個數(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

功能:合并一個或多個數(shù)組

說明:如果后面有鍵名相同的會覆蓋掉前面的內(nèi)容,鍵名為數(shù)字的會添加到后面

<?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ù)組最后一個元素,返回被剔除的元素內(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

功能:將一個多個單元壓入數(shù)組末尾,返回之后的數(shù)組個數(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

功能:獲取隨機的鍵名

<?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)容,返回鍵值,如果有多個匹配,返回第一個匹配的內(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é)果
blue
red
*/

array_shift

功能:移除開頭的元素,與array_pop相反

<?php
$fruit = array("milk","orange","banana","apple");
$top = array_shift($fruit);
print_r($top);
echo "<br>";
print_r($fruit);
/**結(jié)果
milk
Array ( [0] => orange [1] => banana [2] => apple )
*/

array_unique

功能:去除數(shù)組重復(fù)的元素,保留第一個出現(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);//第二個參數(shù)沒有時,表示取到最后一個元素
print_r($output);
echo "<br>";
$output = array_slice($input,-2,1);//第二個參數(shù)是正數(shù)時,表示個數(shù);倒數(shù)第一個是-1,倒數(shù)第二個是-2
print_r($output);
echo "<br>";
$output = array_slice($input,0,3);
print_r($output);
echo "<br>";
$output = array_slice($input,2,-1);//第二個參數(shù)是負數(shù)時,表示位置,取到哪一位,不包括本身
print_r($output);
echo "<br>";
$output = array_slice($input,2,-1,true);//第三個參數(shù)為true時,保留原有的鍵值
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

功能:返回數(shù)組元素個數(shù),元素為數(shù)組的算一個

<?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é)果
4
5
*/

current

功能:獲取當(dāng)前的指針指向元素

<?php
$array = array("foot","bike","car","plane");
$result = current($array);
echo $result."<br>";
next($array);//使指針指向下一個元素
$result = current($array);
echo $result."<br>";
prev($array);//使指針指向前一個元素
$result = current($array);
echo $result."<br>";
end($array);//使指針指向最后一個元素
$result = current($array);
echo $result."<br>";
/**結(jié)果
foot
bike
foot
plane
*/

in_array

功能:檢驗?zāi)持凳欠翊嬖跀?shù)組中,有返回True,沒有返回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ù)組中的信息賦值給多個變量

<?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,green
red,green
green
*/

shuffle

功能:打亂數(shù)組

<?php
$numbers = range(1,5);//生成一個隨機數(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ù)組的鍵名,第二個參數(shù)可以指定獲取某個元素

<?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 = orange
a = lemon
c = banana
d = apple
*/

asort

功能:進行正向排序

<?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 = orange
a = lemon
c = banana
d = apple
d = apple
c = banana
a = lemon
b = orange
*/

krsort

功能:按照鍵名進行逆向排序

<?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 = apple
c = banana
b = orange
a = lemon
*/

ksort

功能:按照鍵名進行正向排序

<?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 = lemon
b = orange
c = banana
d = apple
*/

rsort

功能:按照值進行逆向排序,鍵名改變

<?php
$fruits = array(
 "a"=>"lemon",
 "b"=>"orange",
 "c"=>"banana",
 "d"=>"apple",
 );
rsort($fruits);//按照值進行逆向排序或數(shù)字,鍵名改變
foreach($fruits as $key=>$val){
 echo "$key = $val<br>";
}
/**結(jié)果
0 = orange
1 = lemon
2 = banana
3 = apple
*/

sort

功能:按照值進行正向排序,鍵名改變

<?php
$fruits = array(
 "a"=>"lemon",
 "b"=>"orange",
 "c"=>"banana",
 "d"=>"apple",
 );
sort($fruits);//按照值進行逆向排序或數(shù)字,鍵名改變
foreach($fruits as $key=>$val){
 echo "$key = $val<br>";
}
/**結(jié)果
0 = apple
1 = banana
2 = lemon
3 = orange
*/

關(guān)于php中有哪些數(shù)組array函數(shù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI