array_pad()
作用
函式將指定數量的帶有指定值的元素插入到陣列中。
用法
array_pad(array, size, value)
測試案例
$a=array("red", "green");
print_r(array_pad($a, 5, "blue"));
結果
Array (
[0] => red
[1] => green
[2] => blue
[3] => blue
[4] => blue
)
array_pop()
作用
函式刪除陣列中的最後一個元素。
用法
array_pop(array)
測試案例
$a=array("red", "green", "blue");
array_pop($a);
print_r($a);
結果
Array (
[0] => red
[1] => green
)
array_product()
作用
數計算並返回陣列的乘積。
用法
array_product(array)
測試案例
$a=array(5, 5, 2, 10);
echo(array_product($a));
結果
500
array_push()
作用
向陣列尾部插入一個或多個元素
用法
array_push(array, value1, value2...)
測試案例
$a=array("a"=>"red", "b"=>"green");
array_push($a, "blue", "yellow");
print_r($a);
結果
Array (
[a] => red
[b] => green
[0] => blue
[1] => yellow
)
array_rand()
作用
函式返回陣列中的一個隨機鍵名,或者如果指定函式返回鍵名不只一個,則返回一個包含隨機鍵名的陣列
用法
array_rand(array, number)
測試案例
$a=array("a"=>"red", "b"=>"green", "c"=>"blue", "d"=>"yellow");
print_r(array_rand($a, 2));
結果
Array (
[0] => a
[1] => b
)
array_reduce()
作用
函式傳送陣列中的值到使用者自定義函式,並返回一個字串
用法
array_reduce(array, myfunction, initial)
initial 可選。規定傳送到函式處理的第一個值。
測試案例
function myfunction($v1,$v2)
{
echo 'v1:';
print_r($v1);
echo "<br>";
echo 'v2:';
print_r($v2);
echo "<br>";
return $v1 . "-" . $v2;
}
$a=array('a'=>"Dog",'b'=>"Cat",'c'=>"Horse", 'a');
print_r(array_reduce($a,"myfunction"));
echo "<br>";
echo "------------------------------------";
echo "<br>";
print_r(array_reduce($a,"myfunction", 5));
結果
v1:
v2:Dog
v1:-Dog
v2:Cat
v1:-Dog-Cat
v2:Horse
v1:-Dog-Cat-Horse
v2:a
-Dog-Cat-Horse-a
------------------------------------
v1:5
v2:Dog
v1:5-Dog
v2:Cat
v1:5-Dog-Cat
v2:Horse
v1:5-Dog-Cat-Horse
v2:a
5-Dog-Cat-Horse-a
array_replace()
作用
使用後面陣列的值替換第一個陣列的值
用法
array_replace(array1,array2,array3...)
測試案例
$a1=array("a"=>"red", "green");
$a2=array("a"=>"orange", "b"=>"burgundy");
print_r(array_replace($a1, $a2));
結果
Array (
[a] => orange
[0] => green
[b] => burgundy
)
array_replace_recursive()
作用
函式遞迴地使用後面陣列的值替換第一個陣列的值
用法
array_replace_recursive(array1,array2,array3...)
測試案例
$a1=array(
"a"=>array("red"),
"b"=>array("green","blue"),
);
$a2=array(
"a"=>array("yellow"),
"b"=>array("black")
);
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
結果
Array (
[a] => Array (
[0] => yellow
)
[b] => Array (
[0] => black
[1] => blue
)
)
Array (
[a] => Array (
[0] => yellow
)
[b] => Array (
[0] => black
)
)
array_reverse()
作用
函式返回翻轉順序的陣列。
用法
array_reverse(array,preserve)
測試案例
$a=array("Volvo","XC90",array("BMW","Toyota"));
$reverse=array_reverse($a);
$preserve=array_reverse($a,true);
print_r($a);
print_r($reverse);
print_r($preserve);
結果
Array (
[0] => Volvo
[1] => XC90
[2] => Array (
[0] => BMW
[1] => Toyota
)
)
Array (
[0] => Array (
[0] => BMW
[1] => Toyota
)
[1] => XC90
[2] => Volvo
)
Array (
[2] => Array (
[0] => BMW
[1] => Toyota
)
[1] => XC90
[0] => Volvo
)
array_search()
作用
函式在陣列中搜尋某個鍵值,並返回對應的鍵名。
用法
array_search(value,array,strict)
測試案例
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true);
結果
b
array_shift()
作用
函式用於刪除陣列中的第一個元素,並返回被刪除的元素。
用法
array_shift(array)
測試案例
$a=array(0=>"red",1=>"green",2=>"blue");
echo array_shift($a);
print_r ($a);
結果
red
Array ( [0] => green [1] => blue )
array_slice()
作用
返回陣列中的選定部分
用法
array_slice(array,start,length,preserve)
preserve 函式是保留鍵名還是重置鍵名
true 保留鍵名
false 重置鍵名
測試案例
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2,true));
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2,false));
結果
Array ( [1] => green [2] => blue )
Array ( [0] => green [1] => blue )
array_splice()
作用
函式從陣列中移除選定的元素,並用新元素取代它。函式也將返回被移除元素的陣列。
用法
array_splice(array,start,length,array)
註釋:不保留替代陣列中的鍵名。
測試案例
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
print_r($a1);
結果
Array ( [a] => red [b] => green )
Array (
[0] => purple
[1] => orange
[c] => blue
[d] => yellow
)
array_sum()
作用
函式返回陣列中所有值的和。
用法
array_sum(array)
測試案例
$a=array("a"=>52.2,"b"=>13.7,"c"=>0.9);
echo array_sum($a);
結果
66.8
array_udiff()
作用
函式用於比較兩個(或更多個)陣列的鍵值 ,並返回差集
用法
array_udiff(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","yellow");
$a2=array("A"=>"red","b"=>"GREEN","yellow","black");
$a3=array("a"=>"green","b"=>"red","yellow","black");
$result=array_udiff($a1,$a2,$a3,"myfunction");
print_r($result);
結果
Array ( [c] => blue )
array_udiff_assoc()
作用
函式用於比較兩個(或更多個)陣列的鍵名和鍵值,並返回差集。
用法
array_udiff_assoc(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"=>"red","b"=>"blue","c"=>"green");
$result=array_udiff_assoc($a1,$a2,"myfunction");
print_r($result);
結果
Array ( [b] => green [c] => blue )
array_udiff_uassoc()
作用
函式用於比較兩個(或更多個)陣列的鍵名和鍵值,並返回差集。
用法
array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)
測試案例
function myfunction_key($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
function myfunction_value($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","c"=>"green");
$result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result);
結果
Array ( [c] => blue )
array_uintersect()
作用
用於比較兩個(或更多個)陣列的鍵值 ,並返回交集。
用法
array_uintersect(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_uintersect($a1,$a2,"myfunction");
print_r($result);
結果
Array ( [c] => blue )
array_uintersect_assoc()
作用
函式用於比較兩個(或更多個)陣列的鍵名和鍵值 ,並返回交集
註釋:該函式使用內建函式比較鍵名,使用使用者自定義函式比較鍵值!
用法
array_uintersect_assoc(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"=>"red","b"=>"blue","c"=>"green");
$result=array_uintersect_assoc($a1,$a2,"myfunction");
print_r($result);
結果
Array ( [a] => red )
array_uintersect_uassoc()
作用
函式用於比較兩個(或更多個)陣列的鍵名和鍵值,並返回交集。
註釋:該函式使用兩個使用者自定義函式進行比較;第一個函式比較鍵名,第二個函式比較鍵值!
用法
array_uintersect_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)
測試案例
function myfunction_key($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
function myfunction_value($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","c"=>"green");
$result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result);
結果
Array ( [a] => red [b] => green )
array_unique()
作用
函式用於移除陣列中重複的值。如果兩個或更多個陣列值相同,只保留第一個值,其他的值被移除。
註釋:被保留的陣列將保持第一個陣列項的鍵名型別。
用法
array_unique(array)
測試案例
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
結果
Array ( [a] => red [b] => green )
array_unshift()
作用
函式用於向陣列插入新元素。新陣列的值將被插入到陣列的開頭。返回元素的個數
註釋:數值鍵名將從 0 開始,以 1 遞增。字串鍵名將保持不變。
用法
array_unshift(array,value1,value2,value3...)
測試案例
$a=array("a"=>"red","b"=>"green");
print_r(array_unshift($a,"blue"));
print_r($a);
結果
3
Array (
[0] => blue
[a] => red
[b] => green
)
array_values()
作用
函式返回包含陣列中所有的值的陣列。
用法
array_values(array)
測試案例
$a=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
print_r(array_values($a));
結果
Array (
[0] => Peter
[1] => 41
[2] => USA
)
array_walk()
作用
函式對陣列中的每個元素應用使用者自定義函式。在函式中,陣列的鍵名和鍵值是引數。
註釋:您可以通過把使用者自定義函式中的第一個引數指定為引用:&$value,來改變陣列元素的值
用法
array_walk(array,myfunction,parameter...)
測試案例
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
結果
Array (
[a] => yellow
[b] => yellow
[c] => yellow
)
array_walk_recursive()
作用
函式對陣列中的每個元素應用使用者自定義函式。在函式中,陣列的鍵名和鍵值是引數。該函式與 array_walk() 函式的不同在於可以操作更深的陣列(一個陣列中包含另一個陣列)。
用法
array_walk_recursive(array,myfunction,parameter...)
測試案例
function myfunction($value,$key)
{
echo "The key $key has the value $value<br>";
}
$a1=array("a"=>"red","b"=>"green");
$a2=array($a1,"1"=>"blue","2"=>"yellow");
array_walk_recursive($a2,"myfunction");
結果
The key a has the value red
The key b has the value green
The key 1 has the value blue
The key 2 has the value yellow
arsort()
作用
函式對關聯陣列按照鍵值進行降序排序
用法
arsort(array,sortingtype);
測試案例
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age);
print_r($age);
結果
Array (
[Joe] => 43
[Ben] => 37
[Peter] => 35
)
asort()
作用
函式對關聯陣列按照鍵值進升序排序。
用法
asort(array,sortingtype);
測試案例
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
print_r($age);
結果
Array (
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
compact()
作用
函式建立一個包含變數名和它們的值的陣列。
註釋:任何沒有變數名與之對應的字串都被略過。
用法
compact(var1,var2...)
測試案例
$firstname = "Peter";
$lastname = "Griffin";
$age = "41";
$name = array("firstname", "lastname");
$result = compact($name, "location", "age");
print_r($result);
結果
Array (
[firstname] => Peter
[lastname] => Griffin
[age] => 41
)
count()
作用
函式返回陣列中元素的數目
用法
count(array,mode)
mode 0 - 預設。不計算多維陣列中的所有元素。
1 - 遞迴地計算陣列中元素的數目(計算多維陣列中的所有元素)。
測試案例
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
結果
3
current()
作用
函式返回陣列中的當前元素的值
用法
current(array)
測試案例
$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people) . "<br>";
結果
Peter
end()
作用
函式將內部指標指向陣列中的最後一個元素,並輸出
用法
end(array)
測試案例
$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people) . "<br>";
echo end($people);
結果
Peter
Cleveland
extract()
作用
函式從陣列中將變數匯入到當前的符號表
用法
extract(array,extract_rules,prefix)
extract_rules 函式將檢查每個鍵名是否為合法的變數名,同時也檢查和符號表中已存在的變數名是否衝突。對不合法和衝突的鍵名的處理將根據此引數決定
EXTR_OVERWRITE - 預設。如果有衝突,則覆蓋已有的變數。
EXTR_SKIP - 如果有衝突,不覆蓋已有的變數。
EXTR_PREFIX_SAME - 如果有衝突,在變數名前加上字首 prefix。
EXTR_PREFIX_ALL - 給所有變數名加上字首 prefix。
EXTR_PREFIX_INVALID - 僅在不合法或數字變數名前加上字首 prefix。
EXTR_IF_EXISTS - 僅在當前符號表中已有同名變數時,覆蓋它們的值。其它的都不處理。
EXTR_PREFIX_IF_EXISTS - 僅在當前符號表中已有同名變數時,建立附加了字首的變數名,其它的都不處理。
EXTR_REFS - 將變數作為引用提取。匯入的變數仍然引用了陣列引數的值。
測試案例
$a = "Original";
$my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
extract($my_array, EXTR_PREFIX_SAME, "dup");
echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a";
結果
$a = Original; $b = Dog; $c = Horse; $dup_a = Cat
in_array()
作用
搜尋陣列中是否存在指定的值。
用法
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
測試案例
$people = array("Peter", "Joe", "Glenn", "Cleveland", 23);
if (in_array("23", $people, TRUE))
{
echo "Match found<br>";
}
else
{
echo "Match not found<br>";
}
if (in_array("Glenn",$people, TRUE))
{
echo "Match found<br>";
}
else
{
echo "Match not found<br>";
}
if (in_array(23,$people, TRUE))
{
echo "Match found<br>";
}
else
{
echo "Match not found<br>";
}
結果
Match not found
Match found
Match found
key()
作用
函式從當前內部指標位置返回元素鍵名。。
用法
key(array)
測試案例
$people=array("Peter","Joe","Glenn","Cleveland");
echo "The key from the current position is: " . key($people);
結果
The key from the current position is: 0
krsort()
作用
函式對關聯陣列按照鍵名進行降序排序。
用法
krsort(array,sortingtype);
sortingtype 0 = SORT_REGULAR - 預設。把每一項按常規順序排列(Standard ASCII,不改變型別)。
1 = SORT_NUMERIC - 把每一項作為數字來處理。
2 = SORT_STRING - 把每一項作為字串來處理。
3 = SORT_LOCALE_STRING - 把每一項作為字串來處理,基於當前區域設定(可通過 setlocale() 進行更改)。
4 = SORT_NATURAL - 把每一項作為字串來處理,使用類似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以結合(按位或)SORT_STRING 或 SORT_NATURAL 對字串進行排序,不區分大小寫。
測試案例
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
結果
Key=Peter, Value=35
Key=Joe, Value=43
Key=Ben, Value=37
ksort()
作用
函式對關聯陣列按照鍵名進行升序排序
用法
krsort(array,sortingtype);
sortingtype 0 = SORT_REGULAR -預設。把每一項按常規順序排列(Standard ASCII,不改變型別)。
1 = SORT_NUMERIC - 把每一項作為數字來處理。
2 = SORT_STRING - 把每一項作為字串來處理。
3 = SORT_LOCALE_STRING - 把每一項作為字串來處理,基於當前區域設定(可通過 setlocale() 進行更改)。
4 = SORT_NATURAL - 把每一項作為字串來處理,使用類似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以結合(按位或)SORT_STRING 或 SORT_NATURAL 對字串進行排序,不區分大小寫。
測試案例
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
結果
Key=Ben, Value=37
Key=Joe, Value=43
Key=Peter, Value=35
list()
作用
函式用於在一次操作中給一組變數賦值
用法
list(var1,var2...)
測試案例
$my_array = array("Dog","Cat","Horse");
list($a, , $c) = $my_array;
echo "Here I only use the $a and $c variables.";
結果
Here I only use the Dog and Horse variables.
natcasesort()
作用
用"自然排序"演算法對陣列進行排序。鍵值保留它們原始的鍵名
用法
natcasesort(array)
測試案例
$temp_files = array("temp15.txt","Temp10.txt",
"temp1.txt","Temp22.txt","temp2.txt");
natsort($temp_files);
echo "Natural order: ";
print_r($temp_files);
echo "<br />";
natcasesort($temp_files);
echo "Natural order case insensitve: ";
print_r($temp_files);
結果
Natural order:
Array
(
[0] => Temp10.txt
[1] => Temp22.txt
[2] => temp1.txt
[4] => temp2.txt
[3] => temp15.txt
)
Natural order case insensitve:
Array
(
[2] => temp1.txt
[4] => temp2.txt
[0] => Temp10.txt
[3] => temp15.txt
[1] => Temp22.txt
)
參考
本作品採用《CC 協議》,轉載必須註明作者和本文連結