PHP常用的函數整理
1.array_unique() 函數用於移除數組中重複的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
?>
//結果:
//Array ( [a] => red [b] => green )
2.array_merge() 函數用於把一個或多個數組合併爲一個數組。
註釋:如果兩個或更多個數組元素有相同的鍵名,則最後的元素會覆蓋其他元素。
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
?>
//結果:
//Array([a] => red [b] => yellow [c] => blue)
註釋:如果您僅僅向 array_merge() 函數輸入一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引
<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge($a));
?>
//Array ( [0] => red [1] => green )
3.array_push() 函數向數組尾部插入一個或多個元素。
<?php
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>
//Array ( [0] => red [1] => green [2] => blue [3] => yellow )
4.array_slice() 函數返回數組中的選定部分。(可用於分頁)
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2));
?>
//Array ( [0] => green [1] => blue )
5.array_values() 函數返回包含數組中所有的值的數組。
提示:被返回的數組將使用數值鍵,從 0 開始且以 1 遞增。
<?php
$a=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
print_r(array_values($a));
?>
//Array ( [0] => Peter [1] => 41 [2] => USA )
6.array_shift() 函數用於刪除數組中的第一個元素,並返回被刪除的元素。
註釋:如果鍵名是數字的,所有元素都將獲得新的鍵名,從 0 開始,並以 1 遞增
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_shift($a); //輸出的是刪除的那一個元素
print_r ($a);
?>
//red
//Array ( [b] => green [c] => blue )
7.array_column() 返回輸入數組中某個單一列的值。
//從記錄集中取出 last_name 列:
<?php
// 可能從數據庫中返回數組
$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');
print_r($last_names);
?>
//輸出(默認鍵值從0開始):
//Array([0] => Griffin [1] => Smith [2] => Doe)
//從記錄集中取出 last_name 列,用相應的 "id" 列作爲鍵值:
<?php
// 可能從數據庫中返回數組
$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)
8.array_flip() 函數用於反轉/交換數組中的鍵名和對應關聯的鍵值。
<?php
$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 )
9.array_diff() 函數用於比較兩個(或更多個)數組的值,並返回差集。
比較兩個(或多個)數組的值(key=>value 中的 value),並返回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組中的值。
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result);
?>
//輸出:Array ( [d] => yellow )
10.array_search() 函數在數組中搜索某個鍵值,並返回對應的鍵名。
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>
//輸出:a
11.array_reverse() 函數返回翻轉順序的數組。
<?php
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
?>
//Array ( [c] => Toyota [b] => BMW [a] => Volvo )
12.in_array() 函數搜索數組中是否存在指定的值。
<?php
$sites = array("Google", "Runoob", "Taobao", "Facebook");
if (in_array("Runoob", $sites))
{
echo "找到匹配項!";
}
else
{
echo "沒有找到匹配項!";
}
?>
//找到匹配項!
13.array_key_exists() 函數檢查某個數組中是否存在指定的鍵名,如果鍵名存在則返回 true,如果鍵名不存在則返回 false。
<?php
$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!
提示:如果您指定數組的時候省略了鍵名,將會生成從 0 開始並以 1 遞增的整數鍵名
<?php
$a=array("Volvo","BMW");
if (array_key_exists(0,$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
?>
//Key exists!
14.array_pop() 函數刪除數組中的最後一個元素。
<?php
$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>
//Array ( [0] => red [1] => green )
15.array_unshift() 函數用於向數組插入新元素。新數組的值將被插入到數組的開頭
提示:您可以插入一個或多個值。
<?php
$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");
print_r($a);
?>
//Array ( [0] => blue [a] => red [b] => green )
注意:數值鍵名將從 0 開始,以 1 遞增。字符串鍵名將保持不變。
<?php
$a=array(0=>"red",1=>"green");
array_unshift($a,"blue");
print_r($a);
?>
//Array ( [0] => blue [1] => red [2] => green )
16.explode() 函數使用一個字符串分割另一個字符串,並返回由字符串組成的數組。
<?php
$str = "www.runoob.com";
print_r (explode(".",$str));
?>
//Array([0] => www [1] => runoob[2] => com)
17.implode() 函數返回一個由數組元素組合成的字符串
<?php
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
?>
//Hello World! Beautiful Day!
18.shuffle() 函數把數組中的元素按隨機順序重新排列
<?php
$my_array = array("red","green","blue","yellow","purple");
shuffle($my_array);
print_r($my_array);
?>
//Array ( [0] => blue [1] => green [2] => yellow [3] => red [4] => purple )
19.array_intersect() 函數用於比較兩個(或更多個)數組的鍵值,並返回交集。
該函數比較兩個(或更多個)數組的鍵值,並返回一個交集數組,該數組包括了所有在被比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵值。
<?php
$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 )
20.array_sum() 函數返回數組中所有值的和
例一:
<?php
$a=array(5,15,25);
echo array_sum($a);
?>
//45
例二:
<?php
$a=array("a"=>52.2,"b"=>13.7,"c"=>0.9);
echo array_sum($a);
?>
//66.8