Ⅰ 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 中,數組的每個元素都是由鍵值對(key-value)組成,通過元素的鍵名來訪問對應鍵的值。
提示:「索引」和「鍵名」指的是同一樣東西,「索引」多指數組數字形式的下標。
有時候,我們需要去掉一維數組的鍵值(value),只留下數組的鍵名(key),這要怎麼做?
此時,就可以使用array_keys()函數了。
array_key() 函數可以獲取數組中的部分或所有鍵名,語法格式如下:
array_keys($array [, $search_value = null [, $strict = false]])參數說明如下:
$array:必選參數,為待操作的數組;
$search_value:可選參數,如果參數為空,則函數會返回數組中的所有鍵名,如果指定了該參數,則函數就只會返回值為 $search_value 的鍵名;
$strict:可選參數,判斷在搜索的時候是否使用嚴格模式,$strict 默認為 false,也就是非嚴格模式,在搜索時只比較類型,不比較類型,若將 $strict 設置為 true,也就是嚴格模式,在搜索時同時比較值和類型,等價於===。
array_key() 函數會以數組形式返回得到的數組鍵名。
'it網', 'url' => 'https://www.how234.com/', 'title' => 'PHP學習教程', ); $key=array_keys($array); var_mp($key); ?>可以看到,去掉了一維數組的鍵值(value),只返回了一維數組的鍵名(key)。
內容擴展:
1、使用unset()函數可以用於取消設置關聯數組中的鍵及其值。
// 聲明關聯數組 $arr = array( "1" => "加", "2" => "減", "3" => "乘", "4" => "除" ); // 關聯數組中刪除鍵1及其值 unset($arr['1']); // 顯示數組元素 var_mp($arr);2、使用array_diff_key()函數用於獲取一個或多個數組之間的差集。
此函數比較一個或多個數組之間的鍵並返回它們之間的差集。
// 聲明關聯數組 $arr = array( "1" => "春", "2" => "夏", "3" => "秋", "4" => "冬", ); // 從關聯數組中刪除鍵1及其值 $result = array_diff_key($arr, array_flip((array) ['1'])); // 顯示數組元素 var_mp($result);到此這篇關於php去掉一維數組的鍵值的實例方法的文章就介紹到這了。
Ⅲ php如何按數組鍵值排序
$arr=[
array(
'name'=>'小壞龍',
'age'=>28
),
array(
'name'=>'小壞龍2',
'age'=>14
),
array(
'name'=>'小壞龍3',
'age'=>59
),
array(
'name'=>'小壞龍4',
'age'=>23
),
array(
'name'=>'小壞龍5',
'age'=>23
),
array(
'name'=>'小壞龍6',
'age'=>21
),
];
array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);
其中 array_column(數組,數組中的某個鍵值) 從多維數組中取出某個鍵值的一列 返回一個一維數組;
array_multisort(數組(一維數組),排序方式(SOTR_ASC,SOTR_DESC),其他數組(可以是二維的)
Ⅳ 如何運用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 常用的數組函數都有哪些 作用是什麼有什麼特點 怎麼使用
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中的常用數組操作方法有哪些
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); 移除數組中重復的值,新的數組中會保留原始的鍵名