array_change_key_case()
作用
函式將陣列的所有的鍵都轉換為大寫字母或小寫字母
用法
array_change_key_case(array,case)
測試案例
$testArr = array('a'=>1, 'B'=>2);
// CASE_UPPER 鍵轉大寫
print_r(array_change_key_case($testArr,CASE_UPPER));
// CASE_LOWER 鍵轉小寫 預設值
print_r(array_change_key_case($testArr,CASE_LOWER));
結果
Array
(
[A] => 1
[B] => 2
)
Array
(
[a] => 1
[b] => 2
)
array_chunk()
作用
函式把一個陣列分割為新的陣列塊。
用法
array_chunk(array,size,preserve_keys)
size 規定每個新陣列塊包含多少個元素。
preserve_keys true - 保留原始陣列中的鍵名。
false - 預設。每個新陣列塊使用從零開始的索引。
測試案例
$testArr = array('a'=>'hhhh', 'B'=>'yyyyy');
// 按每塊1個元素分塊 保留鍵
print_r(array_chunk($testArr,1, true));
// 按每塊1個元素分塊 不保留鍵
print_r(array_chunk($testArr,1, false));
結果
Array
(
[0] => Array
(
[a] => hhhh
)
[1] => Array
(
[B] => yyyyy
)
)
Array
(
[0] => Array
(
[0] => hhhh
)
[1] => Array
(
[0] => yyyyy
)
)
array_column()
作用
返回輸入陣列中某個單一列的值
用法
array_column(array, column_key, index_key);
column_key 需要返回值的列
index_key 返回陣列的索引/鍵的列
測試案例
$a = array(
array(
'id' => 5698,
'first_name' => 'Peter',
'last_name' => 'Griffin',
),
array(
'id' => 4767,
'first_name' => 'Ben',
'last_name' => 'Smith',
),
array(
'id' => 3809,
'first_name' => 'Joe',
'last_name' => 'Doe',
)
);
$last_names = array_column($a, 'last_name', 'id');
print_r($last_names);
結果
Array
(
[5698] => Griffin
[4767] => Smith
[3809] => Doe
)
array_combine()
作用
函式通過合併兩個陣列來建立一個新陣列,其中的一個陣列元素為鍵名,另一個陣列的元素為鍵值
用法
array_combine(keys,values);
測試案例
$fname = array("Peter", "Ben", "Joe");
$age = array("35", "37", "43");
$c = array_combine($fname, $age);
print_r($c);
結果
Array (
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
array_count_values()
作用
函式用於統計陣列中所有值出現的次數。
用法
array_count_values(array)
測試案例
$a = array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));
結果
Array (
[A] => 2
[Cat] => 1
[Dog] => 2
)
array_diff()
作用
函式用於比較兩個(或更多個)陣列的值,並返回差集
用法
array_diff(array1,array2,array3...);
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"black","g"=>"purple");
$a3=array("a"=>"red","b"=>"black","h"=>"yellow");
$result=array_diff($a1,$a2,$a3);
print_r($result);
結果
Array (
[b] => green
[c] => blue
)
array_diff_assoc()
作用
array_diff_assoc() 函式用於比較兩個(或更多個)陣列的鍵名和鍵值 ,並返回差集。
用法
array_diff_assoc(array1,array2,array3...);
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","f"=>"green","g"=>"blue");
$a3=array("h"=>"red","b"=>"green","g"=>"blue");
$result=array_diff_assoc($a1,$a2,$a3);
print_r($result);
結果
Array (
[c] => blue
[d] => yellow
)
array_diff_key()
作用
函式用於比較兩個(或更多個)陣列的鍵名 ,並返回差集
用法
array_diff_key(array1,array2,array3...);
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");
$result=array_diff_key($a1,$a2);
print_r($result);
結果
Array ( [b] => green )
array_diff_uassoc()
作用
比較兩個陣列的鍵名和鍵值(使用使用者自定義函式比較鍵名),並返回差集
用法
array_diff_uassoc(array1,array2,array3...,myfunction);
測試案例
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");
$result=array_diff_uassoc($a1,$a2,"myfunction");
print_r($result);
結果
Array ( [a] => red [c] => blue )
array_diff_ukey()
作用
比較兩個陣列的鍵名(使用使用者自定義函式比較鍵名),並返回差集
用法
array_diff_ukey(array1,array2,array3...,myfunction);
測試案例
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_diff_ukey($a1,$a2,"myfunction");
print_r($result);
結果
Array ( [c] => blue )
array_fill()
作用
用給定的鍵值填充陣列
用法
array_fill(index,number,value);
index 陣列的起始索引
number 規定填充的元素的數量,其值必須大於 0
value 規定用於填充陣列的鍵值
測試案例
$a1=array_fill(3,4,"blue");
$b1=array_fill(0,1,"red");
print_r($a1);
echo "<br>";
print_r($b1);
結果
Array (
[3] => blue
[4] => blue
[5] => blue
[6] => blue
)
Array (
[0] => red
)
array_fill_keys()
作用
給定的指定鍵名的鍵值填充陣列
用法
array_fill_keys(keys,value);
測試案例
$keys=array("a","b","c","d");
$a1=array_fill_keys($keys,"blue");
print_r($a1);
結果
Array (
[a] => blue
[b] => blue
[c] => blue
[d] => blue
)
array_filter()
作用
用回撥函式過濾陣列中的元素
用法
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
測試案例
function test_odd($var)
{
return($var & 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
結果
Array (
[3] => 3
)
array_flip()
作用
用於反轉/交換陣列中的鍵名和對應關聯的鍵值
用法
array_flip(array);
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$result=array_flip($a1);
print_r($result);
結果
Array (
[red] => a
[green] => b
[blue] => c
[yellow] => d
)
array_intersect()
作用
取陣列中所有值的交集
用法
array_intersect(array1,array2,array3...);
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_intersect($a1,$a2);
print_r($result);
結果
Array (
[a] => red
[b] => green
[c] => blue
)
array_intersect_assoc()
作用
用於比較兩個(或更多個)陣列的鍵名和鍵值,並返回交集
用法
array_intersect_assoc(array1,array2,array3...)
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");
$result=array_intersect_assoc($a1,$a2);
print_r($result);
結果
Array (
[a] => red
[b] => green
[c] => blue
)
array_intersect_key()
作用
用於比較兩個(或更多個)陣列的鍵名 ,並返回交集
用法
array_intersect_key(array1,array2,array3...)
測試案例
$a1=array("red","green","blue","yellow");
$a2=array("red","green","blue");
$result=array_intersect_key($a1,$a2);
print_r($result);
結果
Array (
[0] => red
[1] => green
[2] => blue
)
array_intersect_uassoc()
作用
用於比較兩個(或更多個)陣列的鍵名和鍵值 ,並返回交集。
用法
array_intersect_uassoc(array1,array2,array3...,myfunction)
測試案例
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");
$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
結果
Array ( [b] => green )
array_intersect_ukey()
作用
用於比較兩個(或更多個)陣列的鍵名 ,並返回交集。 使用使用者自定義函式比較鍵名
用法
array_intersect_ukey(array1,array2,array3...,myfunction)
測試案例
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_intersect_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
結果
Array ( [a] => red )
array_key_exists()
作用
函式檢查某個陣列中是否存在指定的鍵名,如果鍵名存在則返回 true,如果鍵名不存在則返回 false。
用法
array_key_exists(key,array)
測試案例
$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Toyota",$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
結果
Key does not exist!
array_keys()
作用
函式返回包含陣列中所有鍵名的一個新陣列。
用法
array_keys(array,value,strict)
測試案例
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",true));
結果
Array ( [0] => 3 )
array_map()
作用
函式將使用者自定義函式作用到陣列中的每個值上,並返回使用者自定義函式作用後的帶有新的值的陣列
用法
array_map(myfunction,array1,array2,array3...)
測試案例
function myfunction($v)
{
return($v*$v);
}
$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a));
結果
Array (
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)
array_merge()
作用
用於把一個或多個陣列合併為一個陣列
用法
array_merge(array1,array2,array3...)
測試案例
$a=array(3=>"red",4=>"green");
print_r(array_merge($a));
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
結果
Array (
[0] => red
[1] => green
)
Array
(
[a] => red
[b] => yellow
[c] => blue
)
array_merge_recursive()
作用
把一個或多個陣列合併為一個陣列。多個相同鍵名的值遞迴組成一個陣列
用法
array_merge_recursive(array1,array2,array3...)
測試案例
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));
結果
Array (
[a] => red
[b] => Array (
[0] => green
[1] => yellow
)
[c] => blue
)
array_multisort()
作用
返回一個排序陣列。您可以輸入一個或多個陣列。函式先對第一個陣列進行排序,接著是其他陣列,如果兩個或多個值相同,它將對下一個陣列進行排序。
用法
array_multisort(array1,sorting order,sorting type,array2,array3...)
sorting order SORT_ASC - 預設。按升序排列 (A-Z)
SORT_DESC - 按降序排列 (Z-A)。
sorting type SORT_REGULAR - 預設。把每一項按常規順序排列(Standard ASCII,不改變型別)
SORT_NUMERIC - 把每一項作為數字來處理。
SORT_STRING - 把每一項作為字串來處理。
SORT_LOCALE_STRING - 把每一項作為字串來處理,基於當前區域設定(可通過 setlocale() 進行更改)。
SORT_NATURAL - 把每一項作為字串來處理,使用類似 natsort() 的自然排序。
SORT_FLAG_CASE - 可以結合(按位或)SORT_STRING 或 SORT_NATURAL 對字串進行排序,不區分大小寫。
測試案例
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2,SORT_ASC,SORT_NATURAL);
print_r($a1);
print_r($a2);
結果
Array
(
[0] => Dog
[1] => Cat
)
Array
(
[0] => Fido
[1] => Missy
)
參考
本作品採用《CC 協議》,轉載必須註明作者和本文連結