㈠ php中的常用數組操作方法有哪些
PHP中的常用數組操作方法(每種都給你舉個2個例子)
一、數組操作的基本函數
數組的鍵名和值
array_values($arr); 獲得數組的值
array_keys($arr);獲得數組的鍵名
數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法
echo$a;compact(var1,var2,var3);用給定的變數名創建一個數組
二、數組的分段和填充
數組的分段
array_slice($arr,0,3); 可以將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除
分割多個數組
array_chunk($arr,3,TRUE); 可以將一個數組分割成多個,TRUE為保留原數組的鍵名
數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度
三、數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr); 將數組棧的最後一個元素彈出(出棧)
四、數組與列隊
array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素
五、回調函數
array_walk($arr,'function','words'); 使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
六、數組的排序
通過元素值對數組排序
sort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
rsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
通過鍵名對數組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
七、數組的計算
數組元素的求和
array_sum($arr); 對數組內部的所有元素做求和運算
數組的合並
array_merge($arr1,$arr2); 合並兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)
「+」$arr1+$arr2; 對於相同的鍵名只保留後一個
數組的差集
array_diff($arr1,$arr2); 返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也做比較
數組的交集
array_intersect($arr1,$arr2); 返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也做比較
八、其他的數組函數
range(0,12); 創建一個包含指定范圍單元的數組
array_unique($arr); 移除數組中重復的值,新的數組中會保留原始的鍵名
㈡ PHP-Array函數簡介-數組操作-php實例教程
count()計算數組中的元素數目或對象中的屬性個數。3current()返回數組中的當前元素。3each()返回數組中當前的鍵/值對並將數組指針向前移動一步。3end()將數組的內部指針指向最後一個元素。3extract()從數組中將變數導入到當前的符號表。3in_array()檢查數組中是否存在指定的值。4key()從關聯數組中取得鍵名。3krsort()對數組按照鍵名逆向排序。3ksort()對數組按照鍵名排序。3list()把數組中的值賦給一些變數。3natcasesort()用「自然排序」演算法對數組進行不區分大小寫字母的排序。4natsort()用「自然排序」演算法對數組排序。4next()將數組中的內部指針向前移動一位。3pos()current()
的別名。3prev()將數組的內部指針倒回一位。3range()建立一個包含指定范圍的元素的數組。3reset()將數組的內部指針指向第一個元素。3rsort()對數組逆向排序。3shuffle()把數組中的元素按隨機順序重新排列。3sizeof()count()
的別名。3sort()對數組排序。3uasort()使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯。3uksort()使用用戶自定義的比較函數對數組中的鍵名進行排序。3usort()使用用戶自定義的比較函數對數組中的值進行排序。3
㈢ php 常用的數組函數都有哪些 作用是什麼有什麼特點 怎麼使用
php常用的數組函數的作用特點如下:
array_change_key_case -- 返回字元串鍵名全為小寫或大寫的數組
array_chunk -- 將一個數組分割成多個
array_combine -- 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
array_count_values -- 統計數組中所有的值出現的次數
array_diff_assoc -- 帶索引檢查計算數組的差集
array_diff_key -- 使用鍵名比較計算數組的差集
array_diff_uassoc -- 用用戶提供的回調函數做索引檢查來計算數組的差集
array_diff_ukey -- 用回調函數對鍵名比較計算數組的差集
array_diff -- 計算數組的差集
array_fill_keys -- 使用指定的鍵和值填充數組
array_fill -- 用給定的值填充數組
array_filter -- 用回調函數過濾數組中的單元
array_flip -- 交換數組中的鍵和值
array_intersect_assoc -- 帶索引檢查計算數組的交集
array_intersect_key -- 使用鍵名比較計算數組的交集
array_intersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較索引
array_intersect_ukey -- 用回調函數比較鍵名來計算數組的交集
array_intersect -- 計算數組的交集
array_key_exists -- 檢查給定的鍵名或索引是否存在於數組中
array_keys -- 返回數組中所有的鍵名
array_map -- 將回調函數作用到給定數組的單元上
array_merge_recursive -- 遞歸地合並一個或多個數組
array_merge -- 合並一個或多個數組
array_multisort -- 對多個數組或多維數組進行排序
array_pad -- 用值將數組填補到指定長度
array_pop -- 將數組最後一個單元彈出(出棧)
array_proct -- 計算數組中所有值的乘積
array_push -- 將一個或多個單元壓入數組的末尾(入棧)
array_rand -- 從數組中隨機取出一個或多個單元
array_rece -- 用回調函數迭代地將數組簡化為單一的值
array_replace_recursive -- 使用傳遞的數組遞歸替換第一個數組的元素
array_replace -- 使用傳遞的數組替換第一個數組的元素
array_reverse -- 返回一個單元順序相反的數組
array_search -- 在數組中搜索給定的值,如果成功則返回相應的鍵名
array_shift -- 將數組開頭的單元移出數組
array_slice -- 從數組中取出一段
array_splice -- 把數組中的一部分去掉並用其它值取代
array_sum -- 計算數組中所有值的和
array_udiff_assoc -- 帶索引檢查計算數組的差集,用回調函數比較數據
array_udiff_uassoc -- 帶索引檢查計算數組的差集,用回調函數比較數據和索引
array_udiff -- 用回調函數比較數據來計算數組的差集
array_uintersect_assoc -- 帶索引檢查計算數組的交集,用回調函數比較數據
array_uintersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較數據和索引
array_uintersect -- 計算數組的交集,用回調函數比較數據
array_unique -- 移除數組中重復的值
array_unshift -- 在數組開頭插入一個或多個單元
array_values -- 返回數組中所有的值
array_walk_recursive -- 對數組中的每個成員遞歸地應用用戶函數
array_walk -- 對數組中的每個成員應用用戶函數
array -- 新建一個數組
arsort -- 對數組進行逆向排序並保持索引關系
asort -- 對數組進行排序並保持索引關系
compact -- 建立一個數組,包括變數名和它們的值
count -- 計算數組中的單元數目或對象中的屬性個數
current -- 返回數組中的當前單元
each -- 返回數組中當前的鍵/值對並將數組指針向前移動一步
end -- 將數組的內部指針指向最後一個單元
extract -- 從數組中將變數導入到當前的符號表
in_array -- 檢查數組中是否存在某個值
key -- 從關聯數組中取得鍵名
krsort -- 對數組按照鍵名逆向排序
ksort -- 對數組按照鍵名排序
list -- 把數組中的值賦給一些變數
natcasesort -- 用「自然排序」演算法對數組進行不區分大小寫字母的排序
natsort -- 用「自然排序」演算法對數組排序
next -- 將數組中的內部指針向前移動一位
pos -- current 的別名
prev -- 將數組的內部指針倒回一位
range -- 建立一個包含指定范圍單元的數組
reset -- 將數組的內部指針指向第一個單元
rsort -- 對數組逆向排序
shuffle -- 將數組打亂
sizeof -- count 的別名
sort -- 對數組排序
uasort -- 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯
uksort -- 使用用戶自定義的比較函數對數組中的鍵名進行排序
usort -- 使用用戶自定義的比較函數對數組中的值進行排序
關於如何使用,那是要根據使用者需求來衡量,不能一言概括
使用語法如下:
<?php
$arr=array('Hello','World!');
$arr=implode(',',$arr);
echo$arr;
?>
結果是:HelloWorld!
如果你想更多的了解php的數組函數,我建議你詳細地去看看php手冊
php手冊官網:http://www.php.net/manual/zh/index.php
㈣ PHP處理數組常用的幾個函數
一、數組操作的基本函數
數組的鍵名和值
array_values($arr); 獲得數組的值
array_keys($arr); 獲得數組的鍵名
array_flip($arr); 數組中的值與鍵名互換(如果有重復前面的會被後面的覆蓋)
in_array("apple",$arr); 在數組中檢索apple
array_search("apple",$arr); 在數組中檢索apple ,如果存在返回鍵名
array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數組中
isset($arr[apple]): 檢索給定的鍵名是否存在數組中
數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
key($arr); 返回數組中當前單元的鍵名
prev($arr); 將數組中的內部指針倒回一位
next($arr); 將數組中的內部指針向前移動一位
end($arr); 將數組中的內部指針指向最後一個單元
reset($arr; 將數組中的內部指針指向第一個單元
each($arr); 將返回數組當前元素的一個鍵名/值的構造數組,並使數組指針向前移動一位
list($key,$value)=each($arr); 獲得數組當前元素的鍵名和值
數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法 echo $a;
compact(var1,var2,var3);用給定的變數名創建一個數組
二、數組的分段和填充
數組的分段
array_slice($arr,0,3); 可以將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除
分割多個數組
array_chunk($arr,3,TRUE); 可以將一個數組分割成多個,TRUE為保留原數組的鍵名
數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度
三、數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr); 將數組棧的最後一個元素彈出(出棧)
四、數組與列隊
array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素
五、回調函數
array_walk($arr,'function','words'); 使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
array_filter($arr,"function"); 使用回調函數過濾數組中的每個元素,如果回調函數為TRUE,數組的當前元素會被包含在返回的結果數組中,數組的鍵名保留不變
array_rece($arr,"function","*"); 轉化為單值函數(*為數組的第一個值)
六、數組的排序
通過元素值對數組排序
sort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
rsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
usort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)忽略鍵名的數組排序
asort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)保留鍵名的數組排序
arsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)保留鍵名的數組排序
uasort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)保留鍵名的數組排序
通過鍵名對數組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
uksort($arr,"function"); 使用用戶自定義的比較函數對數組中的鍵名進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)
自然排序法排序
natsort($arr); 自然排序(忽略鍵名)
natcasesort($arr); 自然排序(忽略大小寫,忽略鍵名)
七、數組的計算
數組元素的求和
array_sum($arr); 對數組內部的所有元素做求和運算
數組的合並
array_merge($arr1,$arr2); 合並兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)
「+」$arr1+$arr2; 對於相同的鍵名只保留後一個
array_merge_recursive($arr1,$arr2); 遞歸合並操作,如果數組中有相同的字元串鍵名,這些值將被合並到一個數組中去。如果一個值本身是一個數組,將按照相應的鍵名把它合並為另一個數組。當數組 具有相同的數組鍵名時,後一個值將不會覆蓋原來的值,而是附加到後面
數組的差集
array_diff($arr1,$arr2); 返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也做比較
數組的交集
array_intersect($arr1,$arr2); 返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也做比較
八、其他的數組函數
range(0,12); 創建一個包含指定范圍單元的數組
array_unique($arr); 移除數組中重復的值,新的數組中會保留原始的鍵名
array_reverse($arr,TRUE); 返回一個單元順序與原數組相反的數組,如果第二個參數為TRUE保留原來的鍵名
//srand((float)microtime()*10000000); 隨機種子觸發器
array_rand($arr,2); 從數組中隨機取出一個或 多個元素
shuffle($arr); 將數組的順序打亂
求課吧有很多關於PHP編程方面的教程
㈤ php中統計數組的長度是那個函數
您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!展開全部
獲取一維數組:
count()和sizeof() 都可以直接統計一維數組長度。示例如下:
$arr = Array('0','1','2','3','4','5','6','7','8','9'); echo count($arr); // 輸出10
$arr = array('蘋果','香蕉','桔子','西瓜','梨','葡萄'); echo sizeof($arr); // 輸出6
獲取二維數組長度:
count()函數有兩個參數:
count($arr,COUNT_NORMAL); //默認,不檢測多維數組
count($arr,COUNT_RECURSIVE); //檢測多維數組
例子:
$arr = array(
0=>array('name'=>'kong','age'=>'18'),
1=>array('name'=>'liang','age'=>'30')
);
count($arr) = 2;
count($arr,COUNT_RECURSIVE) = 6;非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!
㈥ php中計算二維數組中某一元素之和的函數是那個啊謝謝……
PHP數組的總結(很全面啊)
一、什麼是數組
數組就是一組數據的集合,把一系列數據組織起來,形成一個可操作的整體。數組的每個實體都包含兩項:鍵和值。
二、聲明數據
在PHP中聲明數組的方式主要有兩種:一是應用array()函數聲明數組,一是直接為數組元素賦值。
1array()函數聲明的數
一、什麼是數組
數組就是一組數據的集合,把一系列數據組織起來,形成一個可操作的整體。數組的每個實體都包含兩項:鍵和值。
二、聲明數據
在PHP中聲明數組的方式主要有兩種:一是應用array()函數聲明數組,一是直接為數組元素賦值。
<1>array()函數聲明的數組的方式array([mixed...])
參數mixed的語法為key=>value
如,<?php
$array=array("1"=>"編","2"=>"程","3"=>"詞","4"=>"典");
print_r($array);
echo
"<br>";
echo
$array[1];
//注意:下標默認是從0開始
echo
$array[2];
echo
$array[3];
echo
$array[4];
?>
<2>直接為數組元素賦值。如果在創建數組時不知所創建數組的大小,或在實際編寫程序時數組的大小可能發生變化,採用這種數組創建的方法較好。
如,<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array);
//輸出所創建數組的結構
?>
三、數組的類型
PHP支持兩種數組:索引數組(indexed
array)和聯合數組(associative
array),前者使用數字作為鍵,後者使用字元串作為鍵。
四、輸出數組
在PHP中對數組元素輸出,可以通過echo和print語句來實現,但這只能對數組中某一元素進行輸出;要將數組結構輸出則要使用print_r()函數,其語法:print_r(mixed
expression),參數expression為普通的整形、字元型或實型變數則輸出該變數本身,如果該參數為數組,則按一定鍵值和元素的順序顯示出該數組中的所有元素。
五、數組的構造
一維數組:
當一個數組的元素是變數時,則稱其為一維數組。
聲明一位數組:
類型說明符
數組名[常量表達式];
二維數組:
當一個數組的元素是一個一位數組時,則稱之為二維數組。
如,<?php
$str
=
array
(
"網路編程語言"=>array
("PHP","JSP","ASP"),
"體育項目"=>array
("m"=>"足球","n"=>"籃球"));
print_r
(
$str)
;
?>
六、遍歷數組
遍歷數組中的所有元素是常用的一種操作,在遍歷的過程中可以完成查詢或其他功能。在PHP中遍歷數組的方法有多種,下面介紹最常用的兩種方法。
<1>使用foreach結構遍歷數組;
<2>使用list()函數遍歷數組,list()函數僅能用於數字索引的數組,且數字索引從0開始。
例:綜合使用list()和each()認證用戶登錄:
<?php
//輸出用戶登錄信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo
"$name=$value<br>";
}
}
?>
七、統計數組元素個數
在PHP中,使用count()函數對數組中的元素個數進行統計,語法為:int
coun(mixed
array[,int
mode]),其中參數array為必要參數,mode為可選參數,若選中COUNT——RECURSIVE(或1),本函數將遞歸地對數組數組。如,
<?php
$array
=
array("php"
=>
array("PHP函數參考大全","PHP程序開發範例寶典","PHP資料庫系統開發完全手冊"),
"asp"
=>
array("ASP經驗技巧寶典")
);
//聲明一個二維數組
echo
count($array,COUNT_RECURSIVE);//遞歸統計數組元素的個數,運行結果為6
?>
八、數組排序
<1>使用sort()和rsort()分別對數組進行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo
$array[$i]." ";
}
echo
"<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo
$array[$i]."  ";
}
?>
運行結果:
5
9
18
26
37
42
66
88
88
66
42
37
26
18
9
5
<2>使用ksort()和asort()對關聯數組排序
如果使用了相關數組,在排序後還要保持關鍵字和值的排序一致,這是就需要使用ksort()和asort()函
數,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo
"<br>";
asort($array);
print_r($array);
?>
運行結果:
Array
(
[asp]
=>
3
[jsp]
=>
2
[php]
=>
1
)
Array
(
[php]
=>
1
[jsp]
=>
2
[asp]
=>
3
)
㈦ 如何運用PHP函數array
PHP Array函數是PHP 核心的組成部分。無需安裝即可使用這些函數。
array()
創建數組。
array_change_key_case()
返回其鍵均為大寫或小寫的數組。
array_chunk()
把一個數組分割為新的數組塊。
array_column()
返回輸入數組中某個單一列的值。
array_combine()
通過合並兩個數組(一個為鍵名數組,一個為鍵值數組)來創建一個新數組。
array_count_values()
用於統計數組中所有值出現的次數。
array_diff()
比較數組,返回兩個數組的差集(只比較鍵值)。
array_diff_assoc()
比較數組,返回兩個數組的差集(比較鍵名和鍵值)。
array_diff_key()
比較數組,返回兩個數組的差集(只比較鍵名)。
array_diff_uassoc()
比較數組,返回兩個數組的差集(比較鍵名和鍵值,使用用戶自定義的鍵名比較函數)。
array_diff_ukey()
比較數組,返回兩個數組的差集(只比較鍵名,使用用戶自定義的鍵名比較函數)。
array_fill()
用給定的鍵值填充數組。
array_fill_keys()
用給定的指定鍵名的鍵值填充數組。
array_filter()
用回調函數過濾數組中的元素。
array_flip()
反轉/交換數組中的鍵名和對應關聯的鍵值。
array_intersect()
比較數組,返回兩個數組的交集(只比較鍵值)。
array_intersect_assoc()
比較數組,返回兩個數組的交集(比較鍵名和鍵值)。
array_intersect_key()
比較數組,返回兩個數組的交集(只比較鍵名)。
array_intersect_uassoc()
比較數組,返回兩個數組的交集(比較鍵名和鍵值,使用用戶自定義的鍵名比較函數)。
array_intersect_ukey()
比較數組,返回兩個數組的交集(只比較鍵名,使用用戶自定義的鍵名比較函數)。
array_key_exists()
檢查指定的鍵名是否存在於數組中。
array_keys()
返回數組中所有的鍵名。
array_map()
將用戶自定義函數作用到給定數組的每個值上,返回新的值。
array_merge()
把一個或多個數組合並為一個數組。
array_merge_recursive()
遞歸地把一個或多個數組合並為一個數組。
array_multisort()
對多個數組或多維數組進行排序。
array_pad()
將指定數量的帶有指定值的元素插入到數組中。
array_pop()
刪除數組中的最後一個元素(出棧)。
array_proct()
計算數組中所有值的乘積。
array_push()
將一個或多個元素插入數組的末尾(入棧)。
array_rand()
從數組中隨機選出一個或多個元素,返回鍵名。
array_rece()
通過使用用戶自定義函數,迭代地將數組簡化為一個字元串,並返回。
array_replace()
將所有被替換數組中的元素替換成第一個數組。
array_replace_recursive()
將所有被替換數組中的元素遞歸地替換成第一個數組。
array_reverse()
將原數組中的元素順序翻轉,創建新的數組並返回。
array_search()
在數組中搜索給定的值,如果成功則返回相應的鍵名。
array_shift()
刪除數組中的第一個元素,並返回被刪除元素的值。
array_slice()
返回數組中的選定部分。
array_splice()
把數組中的指定元素去掉並用其它值取代。
array_sum()
返回數組中所有值的和。
array_udiff()
比較數組,返回兩個數組的差集(只比較鍵值,使用一個用戶自定義的鍵名比較函數)。
array_udiff_assoc()
比較數組,返回兩個數組的差集(比較鍵名和鍵值,使用內建函數比較鍵名,使用用戶自定義函數比較鍵值)。
array_udiff_uassoc()
比較數組,返回兩個數組的差集(比較鍵名和鍵值,使用兩個用戶自定義的鍵名比較函數)。
array_uintersect()
比較數組,返回兩個數組的交集(只比較鍵值,使用一個用戶自定義的鍵名比較函數)。
array_uintersect_assoc()
比較數組,返回兩個數組的交集(比較鍵名和鍵值,使用內建函數比較鍵名,使用用戶自定義函數比較鍵值)。
array_uintersect_uassoc()
比較數組,返回兩個數組的交集(比較鍵名和鍵值,使用兩個用戶自定義的鍵名比較函數)。
array_unique()
刪除數組中重復的值。
array_unshift()
在數組開頭插入一個或多個元素。
array_values()
返回數組中所有的值。
array_walk()
對數組中的每個成員應用用戶函數。
array_walk_recursive()
對數組中的每個成員遞歸地應用用戶函數。
arsort()
對關聯數組按照鍵值進行降序排序。
asort()
對關聯數組按照鍵值進行升序排序。
compact()
創建一個包含變數名和它們的值的數組。
count()
返回數組中元素的數目。
current()
返回數組中的當前元素。
each()
返回數組中當前的鍵/值對。
end()
將數組的內部指針指向最後一個元素。
extract()
從數組中將變數導入到當前的符號表。
in_array()
檢查數組中是否存在指定的值。
key()
從關聯數組中取得鍵名。
krsort()
對關聯數組按照鍵名降序排序。
ksort()
對關聯數組按照鍵名升序排序。
list()
把數組中的值賦給一些數組變數。
natcasesort()
用"自然排序"演算法對數組進行不區分大小寫字母的排序。
natsort()
用"自然排序"演算法對數組排序。
next()
將數組中的內部指針向前移動一位。
pos()
current() 的別名。
prev()
將數組的內部指針倒回一位。
range()
創建一個包含指定范圍的元素的數組。
reset()
將數組的內部指針指向第一個元素。
rsort()
對數值數組進行降序排序。
shuffle()
把數組中的元素按隨機順序重新排列。
sizeof()
count() 的別名。
sort()
對數值數組進行升序排序。
uasort()
使用用戶自定義的比較函數對數組中的鍵值進行排序。
uksort()
使用用戶自定義的比較函數對數組中的鍵名進行排序。
usort()
使用用戶自定義的比較函數對數組進行排序。
Array(arglist)
作用: 創建數組並給數組賦值
arglist 參數是賦給包含在 Variant 中的數組元素的值的列表(用逗號分隔)。如果沒有指定此參數,則將會創建零長度的數組。
例:一般創建數組的方法為
Dim AA(2)
AA(0)=10
AA(1)=20
AA(2)=30
MsgBox AA(2)
如果像以上的話比較繁瑣那麼如果用array函數呢?
Dim AA
AA=Array(10,20,30)
B=AA(2)
MsgBox B
這樣的話過程就比較簡單用的時候拿出來就行了。
static Object get(Object array, int index)
返回指定數組對象中索引組件的值。
static boolean getBoolean(Object array, int index)
以 boolean 形式返回指定數組對象中索引組件的值。
static byte getByte(Object array, int index)
以 byte 形式返回指定數組對象中索引組件的值。
static char getChar(Object array, int index)
以 char 形式返回指定數組對象中索引組件的值。
static double getDouble(Object array, int index)
以 double 形式返回指定數組對象中索引組件的值。
static float getFloat(Object array, int index)
以 float 形式返回指定數組對象中索引組件的值。
static int getInt(Object array, int index)
以 int 形式返回指定數組對象中索引組件的值。
static int getLength(Object array)
以 int 形式返回指定數組對象的長度。
static long getLong(Object array, int index)
以 long 形式返回指定數組對象中索引組件的值。
static short getShort(Object array, int index)
以 short 形式返回指定數組對象中索引組件的值。
static Object newInstance(Class<?> componentType, int length)
創建一個具有指定的組件類型和長度的新數組。
static Object newInstance(Class<?> componentType, int[] dimensions)
創建一個具有指定的組件類型和維度的新數組。
static void set(Object array, int index, Object value)
將指定數組對象中索引組件的值設置為指定的新值。
static void setBoolean(Object array, int index, boolean z)
將指定數組對象中索引組件的值設置為指定的 boolean 值。
static void setByte(Object array, int index, byte b)
Array 對象用於在單個的變數中存儲多個值。
參數
參數size是期望的數組元素個數。返回的數組,length 欄位將被設為size的值。
參數element...,elementn是參數列表。當使用這些參數來調用構造函數 Array() 時,新創建的數組的元素就會被初始化為這些值。它的 length 欄位也會被設置為參數的個數。
返回值
返回新創建並被初始化了的數組。
如果調用構造函數 Array() 時沒有使用參數,那麼返回的數組為空,length 欄位為 0。
當調用構造函數時只傳遞給它一個數字參數,該構造函數將返回具有指定個數、元素為 undefined 的數組。
當其他參數調用 Array() 時,該構造函數將用參數指定的值初始化數組。
當把構造函數作為函數調用,不使用 new 運算符時,它的行為與使用 new 運算符調用它時的行為完全一樣。
㈧ php中數組的分類有哪兩種
1、索引數組
有兩種創建索引數組的方法:
索引是自動分配的(索引從 0 開始):
$cars=array("porsche","BMW","Volvo");
2、關聯數組
關聯數組是使用您分配給數組的指定鍵的數組。
有兩種創建關聯數組的方法:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
(8)php常用數組函數擴展閱讀
實用函數——
有相當多的實用函數作用於數組,參見數組函數一節。
注: unset() 函數允許取消一個數組中的鍵名。要注意數組將不會重建索引。
<?php
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] );
/* 將產生一個數組,定義為
$a = array( 1=>'one', 3=>'three');
而不是
$a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>
foreach 控制結構是專門用於數組的。它提供了一個簡單的方法來遍歷數組。
㈨ php array_walk() 數組函數
復制代碼
代碼如下:
/*函數array_walk():單一數組回調函數---對數組中的每個成員應用用戶函數
*
1、語法:bool
array_walk
(
array
&array,
callback
funcname
[,
mixed
$userdata]
)
*
2、描述:如果成功則返回
TRUE,失敗則返回
FALSE
*
3、注意事項:
*
3.1、$funcname是用戶自己
定義的回調函數,接受2個參數,第一個參數為數組$array的值,第二個參數為
*
數組$array的鍵名,如果提供第三個參數$userdata,將作為第三個參數傳遞給回調函數$funcname
*
3.2、使用回調函數可以直接更改數組各個單元的值,但更改各個鍵名是無效的
*
3.3、該函數
不會受到
array
內部數組指針的影響。array_walk()
會遍歷整個數組而不管指針
*
的位置
*
3.4、用戶不應在回調函數中改變該數組本身,例如增加/刪除單元,unset
單元等等,如果
array_walk()
*
作用的數組改變了,則此函數的的行為未經定義,且不可預期。
*/
$words=array("l"=>"lemon","o"=>"orange","b"=>"banana","a"=>"apple");
//定義一個回調函數,輸出數組元素
function
words_print($value,$key,$prefix){
echo
"$prefix:$key=>$value<br>\n";
}
//定義一個回調函數直接改變元素的值
function
words_alter(&$value,$key){
$value=ucfirst($value);
$key=strtoupper(key);
}
//輸出元素的值
array_walk($words,'words_print','words');
//改變元素的值
array_walk($words,'words_alter');
echo
"<pre>";
print_r($words);
echo
"</pre>";
運行效果如下: