php 數組常用函數

來源:互聯網
上載者:User

標籤:入棧   合并   res   eve   zhang   logs   影響   function   連續   

PHP數組中常用的函數:

 1.//array_values — 返回數組中所有的值 

 $array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");  $tem= array_values($array);  echo "<pre>";  print_r($tem);  echo "</pre>";
輸出結果如下:

  

2.array_keys — 返回數組中部分的或所有的鍵名  
$array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");  $tem= array_keys($array);  echo "<pre>";  print_r($tem);  echo "</pre>";

輸出結果如下:

  


3.in_array — 檢查數組中是否存在某個值,返回布爾類型(bool)的值  
$array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");  $tem= in_array("10",$array,false);  echo "<pre>";  print_r($tem);  echo "</pre>";
其中第三個參數預設false,如果存在則返回1,不存在,則沒有傳回值。如若設定成true,則會檢查類型是否相同,相當於“===” 的效果。

4.array_flip — 交換數組中的鍵和值
$array = array("name"=>"zhangsan","age"=>"10","sex"=>"man");  $tem= array_flip($array);  echo "<pre>";  print_r($tem);  echo "</pre>";
輸出結果如下:
  

這裡需要注意$array 中的值需要能夠作為合法的鍵名,例如需要是 integer 或者 string。如果值的類型不對將發出一個警告,並且有問題的鍵/值對將不會翻轉。

如果同一個值出現了多次,則最後一個鍵名將作為它的值,所有其它的都丟失了。

5.
array_reverse — 返回一個單元順序相反的數組,例如:
$array = array("zhangsan",5,"10","sex"=>"man");   $tem= array_reverse($array);   echo "<pre>";   print_r($tem);   echo "</pre>";
:
  
注意,如果這裡的第二個參數,設定為true,則會保留數位鍵。非數位鍵則不受這個設定的影響,總是會被保留。例:
 $array = array("zhangsan",5,"10","sex"=>"man");  $tem= array_reverse($array,true);  echo "<pre>";  print_r($tem);  echo "</pre>";
這裡的第二個參數,設定為true,如所示:

  

 6.count — 計算數組中的單元數目或對象中的屬性個數,例如:

$array = array("zhangsan",5,"10","sex"=>"man");  $tem= count($array);  echo "<pre>";  print_r($tem);  echo "</pre>";
這裡的$tem 就是數組的個數,個數為4;

7.array_count_values — 統計數組中所有的值出現的次數,例如:
 $array = array("zhangsan",5,"10","sex"=>"man",5);  $tem= count($array);  echo "<pre>";  print_r($tem);  echo "</pre>";
如所示:
  


8.array_unique — 移除數組中重複的值,接受 array 作為輸入並返回沒有重複值的新數組。 例如:
  $array = array("zhangsan",5,"10","sex"=>"man",5);  $tem=array_unique ($array);  echo "<pre>";  print_r($tem);  echo "</pre>";
如所示:

  

 9.array_filter — 用回呼函數過濾數組中的單元  ,例如:過濾下面數組中小於3的數組。

  $array = array(1,2,3,4,5);   //回呼函數如下  function filter($val){      if($val>3){          return $val;      }  }  //返回過濾後的數組。   $tem = array_filter($array,"filter");  echo "<pre>";  print_r($tem);  echo "</pre>";
結果如所示:

  

10.array_walk — 使用使用者自訂函數對數組中的每個元素做回調處理。成功時返回 TRUE, 或者在失敗時返回 FALSE。

$array = array(1,2,3,4,5);
//回呼函數如下function walk($val){    $val=$val*$val;
  //沒有傳回值}//使用自訂函數,讓每個元素做回調處理$tem = array_walk($array,"walk");echo "
<pre>";print_r($tem);echo "</pre>";

11.array_map — 為數組的每個元素應用回呼函數     

$array = array(1,2,3,4,5);
//回呼函數如下function map($val){    $val=$val*$val;    return $val;//有傳回值}//使用自訂函數,讓每個元素做回調處理並組成一個新的數組$tem = array_map("map",$array);echo "<pre>";print_r($tem);echo "</pre>";

原來數組還存在,返回一個新的數組,返回結果如所示:

   這裡array_map與array_walk 的區別,array_walk 是使數組裡的每個元素做回調處理,不傳回值;array_map是使數組裡的每個元素做回調處理,並返回一個新的數組。

12.sort — 對數組進行升序排序。sort() 例子

$array = array(10,2,13,4,50);
//對數組進行升序排序
$tem = sort($array);
echo "<pre>";
print_r($tem);//函數成功傳回值
echo "<br>";
//遍曆出排序後的數組
foreach ($array as $key => $val) {
echo "array [" . $key . "] = " . $val . "\n";
}

echo "</pre>";
成功時返回 TRUE, 或者在失敗時返回 FALSE。 如所示:

13.
rsort — 對數組逆向排序(降序) rsort() 例子
$array = array(10,2,13,4,50);//對數組進行降序排序$tem = rsort($array);echo "<pre>";print_r($tem);//函數成功傳回值echo "<br>";//遍曆出排序後的數組foreach ($array as $key => $val) {    echo "array [" . $key . "] = " . $val . "\n"; 
}
echo "
</pre>";
成功時返回 TRUE, 或者在失敗時返回 FALSE。 如所示:


其他排序方式如所示:


14.
array_slice — 從數組中取出一段 。array_slice 例子:
$array = array(10,2,13,4,50,15);
//截取索引為1開始截取長度為5的數組元素$tem = array_slice($array,1,5);echo "
<pre>";print_r($tem);echo "</pre>";

如所示:

15.array_splice — 把數組中的一部分去掉並用其它值取代 。    array_splice 例子

$array = array(1,2,3,4,5);
//
截取索引為2開始去掉1個長度的數組元素並用元素6來降3取代,注意array_splice的參數不能超過四個,如要添加更多元素,需要建立一個新的數組,將需要添加的元素放進新數組,
//再將新數組放入array_splice第四個參數即可
 array_splice($array,2,1,6);
echo "
<pre>";
print_r($array);
echo "
</pre>";

結果如所示:

16.array_combine —(合并兩個數組) 建立一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值 。例子:

//數組1
$array = array(1,2,3,4);
//數組2$array2 = array("zhangsan","lisi","wangwu","zhaoli");
//合并數組$tem =array_combine($array,$array2);echo "
<pre>";print_r($tem);echo "</pre>";

 結果如:

17.array_merge — 合并一個或多個數組

//數組1$array = array(1,2,3,4);//數組2$array2 = array("zhangsan","lisi","wangwu","zhaoli");//合并數組$tem =array_merge($array,$array2);echo "<pre>";print_r($tem);echo "</pre>";

 結果如:

18.array_intersect — 計算數組的交集。例子:

//數組1$array = array(1,2,3,4,5);//數組2$array2 = array(3,4,5,6,7);//交集$tem =array_intersect($array,$array2);echo "<pre>";print_r($tem);echo "</pre>";

 結果如:

19.array_diff — 計算數組的差集。

注意,返回的是第一個數組當中與第二個數組當中不同的數值,不會返回第二個數組中的值。

例子:

//數組1$array = array(1,2,3,4,5);//數組2$array2 = array(3,4,5,6,7);//交集$tem =array_diff($array,$array2);echo "<pre>";print_r($tem);echo "</pre>";

:

 

20.array_pop — 將數組最後一個單元彈出(出棧)。返回最後一個值,注意:

返回 array 的最後一個值。如果 array 是空(如果不是一個數組),將會返回 NULL 。 

$array = array(1,2,3,4,5);$tem =array_pop($array);echo "<pre>";print_r($tem);//返回最後一個值為5echo "</pre>";

21.array_push — 將一個或多個單元壓入數組的末尾(入棧) 。返回處理之後數組的元素個數。

$array = array(1,2,3,4,5);$tem =array_push($array,6);echo "<pre>";print_r($tem);//返回處理之後數組的元素個數。echo "</pre>";

22.array_shift — 將數組開頭的單元移出數組。注意,返回移出的值,如果 array 為 空或不是一個數組則返回 NULL。  

$array = array(1,2,3,4,5);$tem =array_shift($array);echo "<pre>";print_r($tem);//返回移出的值為1

echo "</pre>";

23.array_unshift — 在數組開頭插入一個或多個單元 

$array = array(1,2,3,4,5);$tem =array_unshift($array,22);echo "<pre>";print_r($tem);//返回數組的元素個數

echo "</pre>";

24.list();

//按索引角標順序來進行解構,但是角標必須從0開始,並且是連續的

//只對索引數組有效,當遇到關聯陣列會直接跳過

$array5 = array("name" => "zhangsan",0 => "lisi",1 =>"wangwu");list($a,$b) = $array5;echo $a." ".$b;  //結果為lisi,wangwu

25.each();

//會返回第一個索引值對的一個數組(索引和關聯陣列的混合形式),

//當第二次調用是,遊標會自動到下一個,即第二個索引值對數組;

$array6 = array("name" => "fangming",0 => "18", "sex" => "man");$iem1 = each($array6);print_r($iem1);echo "<br>";$iem2 = each($array6);print_r($iem2);  

26.list,each結合使用

list($a,$b) = each($array6);echo $a.":".$b."<br>";  

27.利用while迴圈結合list,each進行遍曆

$array7 = array("name" => "fangming","age" => "18", "sex" => "man");while(list($a,$b) = each($array7)){    echo $a.":".$b."<br>";};

28.reset,重設數組,使遊標返回第一位

reset($array7);

 

 

 

 
 


 

 


 


 






 



 



 





 


 


 

 

 


 

 

php 數組常用函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.