PHP常用的函數(shù)整理
1.array_unique() 函數(shù)用于移除數(shù)組中重復(fù)的值叫胁。如果兩個或更多個數(shù)組值相同亡问,只保留第一個值,其他的值被移除引瀑。
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
?>
//結(jié)果:
//Array ( [a] => red [b] => green )
2.array_merge() 函數(shù)用于把一個或多個數(shù)組合并為一個數(shù)組。
注釋:如果兩個或更多個數(shù)組元素有相同的鍵名榨馁,則最后的元素會覆蓋其他元素憨栽。
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
?>
//結(jié)果:
//Array([a] => red [b] => yellow [c] => blue)
注釋:如果您僅僅向 array_merge() 函數(shù)輸入一個數(shù)組,且鍵名是整數(shù)翼虫,則該函數(shù)將返回帶有整數(shù)鍵名的新數(shù)組屑柔,其鍵名以 0 開始進(jìn)行重新索引
<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge($a));
?>
//Array ( [0] => red [1] => green )
3.array_push() 函數(shù)向數(shù)組尾部插入一個或多個元素。
<?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() 函數(shù)返回數(shù)組中的選定部分珍剑。(可用于分頁)
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2));
?>
//Array ( [0] => green [1] => blue )
5.array_values() 函數(shù)返回包含數(shù)組中所有的值的數(shù)組掸宛。
提示:被返回的數(shù)組將使用數(shù)值鍵,從 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() 函數(shù)用于刪除數(shù)組中的第一個元素唧瘾,并返回被刪除的元素。
注釋:如果鍵名是數(shù)字的别凤,所有元素都將獲得新的鍵名饰序,從 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() 返回輸入數(shù)組中某個單一列的值规哪。
//從記錄集中取出 last_name 列:
<?php
// 可能從數(shù)據(jù)庫中返回數(shù)組
$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);
?>
//輸出(默認(rèn)鍵值從0開始):
//Array([0] => Griffin [1] => Smith [2] => Doe)
//從記錄集中取出 last_name 列求豫,用相應(yīng)的 "id" 列作為鍵值:
<?php
// 可能從數(shù)據(jù)庫中返回數(shù)組
$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() 函數(shù)用于反轉(zhuǎn)/交換數(shù)組中的鍵名和對應(yīng)關(guān)聯(lián)的鍵值。
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$result=array_flip($a1);
print_r($result);
?>
輸出結(jié)果
Array ( [red] => a [green] => b [blue] => c [yellow] => d )
9.array_diff() 函數(shù)用于比較兩個(或更多個)數(shù)組的值,并返回差集蝠嘉。
比較兩個(或多個)數(shù)組的值(key=>value 中的 value)最疆,并返回一個差集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中蚤告,但是不在任何其他參數(shù)數(shù)組中的值努酸。
<?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() 函數(shù)在數(shù)組中搜索某個鍵值,并返回對應(yīng)的鍵名罩缴。
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>
//輸出:a
11.array_reverse() 函數(shù)返回翻轉(zhuǎn)順序的數(shù)組蚊逢。
<?php
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
?>
//Array ( [c] => Toyota [b] => BMW [a] => Volvo )
12.in_array() 函數(shù)搜索數(shù)組中是否存在指定的值。
<?php
$sites = array("Google", "Runoob", "Taobao", "Facebook");
if (in_array("Runoob", $sites))
{
echo "找到匹配項箫章!";
}
else
{
echo "沒有找到匹配項烙荷!";
}
?>
//找到匹配項!
13.array_key_exists() 函數(shù)檢查某個數(shù)組中是否存在指定的鍵名檬寂,如果鍵名存在則返回 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!
提示:如果您指定數(shù)組的時候省略了鍵名桶至,將會生成從 0 開始并以 1 遞增的整數(shù)鍵名
<?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() 函數(shù)刪除數(shù)組中的最后一個元素昼伴。
<?php
$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>
//Array ( [0] => red [1] => green )
15.array_unshift() 函數(shù)用于向數(shù)組插入新元素。新數(shù)組的值將被插入到數(shù)組的開頭
提示:您可以插入一個或多個值镣屹。
<?php
$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");
print_r($a);
?>
//Array ( [0] => blue [a] => red [b] => green )
注意:數(shù)值鍵名將從 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() 函數(shù)使用一個字符串分割另一個字符串持舆,并返回由字符串組成的數(shù)組。
<?php
$str = "www.runoob.com";
print_r (explode(".",$str));
?>
//Array([0] => www [1] => runoob[2] => com)
17.implode() 函數(shù)返回一個由數(shù)組元素組合成的字符串
<?php
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
?>
//Hello World! Beautiful Day!
18.shuffle() 函數(shù)把數(shù)組中的元素按隨機(jī)順序重新排列
<?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() 函數(shù)用于比較兩個(或更多個)數(shù)組的鍵值伪窖,并返回交集逸寓。
該函數(shù)比較兩個(或更多個)數(shù)組的鍵值,并返回一個交集數(shù)組覆山,該數(shù)組包括了所有在被比較的數(shù)組(array1)中竹伸,同時也在任何其他參數(shù)數(shù)組(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() 函數(shù)返回數(shù)組中所有值的和
例一:
<?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