PHP array操作10個(gè)小技巧分享
更新時(shí)間:2011年06月23日 22:40:02 作者:
其實(shí)任何一門計(jì)算機(jī)語(yǔ)言中對(duì)array(數(shù)組)的操作都是一門學(xué)問(wèn),PHP也不例外。下面筆者想向各位介紹關(guān)于PHP中array操作的10個(gè)小技巧及相關(guān)的函數(shù)。
1、向array中添加元素
php是一個(gè)弱類型語(yǔ)言。因此不必象c語(yǔ)言那樣為php array聲明長(zhǎng)度。向其中添加元素的過(guò)程也是聲明和初始化的過(guò)程。
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
繼續(xù)添加元素也很簡(jiǎn)單
$capitals['Arkansas'] = 'Little Rock';
如果不是關(guān)聯(lián)數(shù)組而只是數(shù)字索引的數(shù)組可以使用array_push()和array_unshift()函數(shù)增加元素
2、從array中刪除元素
從數(shù)組中移除元素可以使用unset() 函數(shù)
unset($capitals['California']);
也可以使用array_pop()或array_shift()函數(shù)從數(shù)組頭或尾部順序移除元素
3、array鍵值互換
如果希望新建數(shù)組的鍵是老數(shù)組的值而值是老數(shù)組的鍵,簡(jiǎn)而言之就是鍵值對(duì)調(diào),則可以使用array_flip()函數(shù)完成操作
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
$states = array_flip($capitals);
// $states = array(
// 'Montgomery' => string 'Alabama',
// 'Juneau' => string 'Alaska',
// 'Phoenix' => string 'Arizona'
// );
4、合并數(shù)組
如果希望將兩個(gè)或多個(gè)數(shù)組合并成一個(gè)新的數(shù)組,array_merge()函數(shù)可以幫上這個(gè)忙^_^
$stateCapitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
$countryCapitals = array (
'Australia' => 'Canberra',
'Austria' => 'Vienna',
'Algeria' => 'Algiers'
);
$capitals = array_merge($stateCapitals, $countryCapitals);
5、修改array中的值
譬如希望將數(shù)組的中值全部改為小寫(xiě)后大寫(xiě)首字母,使用回調(diào)函數(shù)遞歸地對(duì)每個(gè)數(shù)組成員調(diào)用是個(gè)不錯(cuò)的方法,php中這個(gè)函數(shù)是php_map()
function capitalize($element)
{
$element = strtolower($element);
return ucwords($element);
}
$capitals = array(
'Alabama' => 'montGoMEry',
'Alaska' => 'Juneau',
'Arizona' => 'phoeniX'
);
$capitals = array_map("capitalize", $capitals);
6、根據(jù)array的鍵為數(shù)組排序
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
ksort($capitals);
7、隨機(jī)化array元素的順序
shuffle() 和上面的ksort()函數(shù)恰恰相反,可以打亂數(shù)組現(xiàn)有的秩序,以達(dá)到隨機(jī)化的目的。
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
shuffle($capitals);
8、查找鍵或值是否存在
查找是否存在值使用in_array()函數(shù)
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
if (in_array("Juneau", $capitals))
{
echo "Exists!";
} else {
echo "Does not exist!";
}
查找是否存在鍵使用array_key_exists()函數(shù)
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
if (array_key_exists("Alaska", $capitals))
{
echo "Key exists!";
} else {
echo "Key does not exist!";
}
9、數(shù)組查找
這個(gè)是老生常談了,基本上都用的到array_search()函數(shù)
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
$state = array_search('Juneau', $capitals);
// $state = 'Alaska'
10、使用php標(biāo)準(zhǔn)函數(shù)庫(kù)
一口氣介紹這個(gè)多操作array的函數(shù),如果您還覺(jué)得不過(guò)癮,可以繼續(xù)查看Standard PHP Library 中的內(nèi)容^_^
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
$arrayObject = new ArrayObject($capitals);
foreach ($arrayObject as $state => $capital)
{
printf("The capital of %s is %s<br />", $state, $capital);
}
// The capital of Arizona is Phoenix
// The capital of Alaska is Juneau
// The capital of Alabama is Montgomery
php是一個(gè)弱類型語(yǔ)言。因此不必象c語(yǔ)言那樣為php array聲明長(zhǎng)度。向其中添加元素的過(guò)程也是聲明和初始化的過(guò)程。
復(fù)制代碼 代碼如下:
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
繼續(xù)添加元素也很簡(jiǎn)單
復(fù)制代碼 代碼如下:
$capitals['Arkansas'] = 'Little Rock';
如果不是關(guān)聯(lián)數(shù)組而只是數(shù)字索引的數(shù)組可以使用array_push()和array_unshift()函數(shù)增加元素
2、從array中刪除元素
從數(shù)組中移除元素可以使用unset() 函數(shù)
復(fù)制代碼 代碼如下:
unset($capitals['California']);
也可以使用array_pop()或array_shift()函數(shù)從數(shù)組頭或尾部順序移除元素
3、array鍵值互換
如果希望新建數(shù)組的鍵是老數(shù)組的值而值是老數(shù)組的鍵,簡(jiǎn)而言之就是鍵值對(duì)調(diào),則可以使用array_flip()函數(shù)完成操作
復(fù)制代碼 代碼如下:
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
$states = array_flip($capitals);
// $states = array(
// 'Montgomery' => string 'Alabama',
// 'Juneau' => string 'Alaska',
// 'Phoenix' => string 'Arizona'
// );
4、合并數(shù)組
如果希望將兩個(gè)或多個(gè)數(shù)組合并成一個(gè)新的數(shù)組,array_merge()函數(shù)可以幫上這個(gè)忙^_^
復(fù)制代碼 代碼如下:
$stateCapitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
$countryCapitals = array (
'Australia' => 'Canberra',
'Austria' => 'Vienna',
'Algeria' => 'Algiers'
);
$capitals = array_merge($stateCapitals, $countryCapitals);
5、修改array中的值
譬如希望將數(shù)組的中值全部改為小寫(xiě)后大寫(xiě)首字母,使用回調(diào)函數(shù)遞歸地對(duì)每個(gè)數(shù)組成員調(diào)用是個(gè)不錯(cuò)的方法,php中這個(gè)函數(shù)是php_map()
復(fù)制代碼 代碼如下:
function capitalize($element)
{
$element = strtolower($element);
return ucwords($element);
}
$capitals = array(
'Alabama' => 'montGoMEry',
'Alaska' => 'Juneau',
'Arizona' => 'phoeniX'
);
$capitals = array_map("capitalize", $capitals);
6、根據(jù)array的鍵為數(shù)組排序
復(fù)制代碼 代碼如下:
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
ksort($capitals);
7、隨機(jī)化array元素的順序
shuffle() 和上面的ksort()函數(shù)恰恰相反,可以打亂數(shù)組現(xiàn)有的秩序,以達(dá)到隨機(jī)化的目的。
復(fù)制代碼 代碼如下:
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
shuffle($capitals);
8、查找鍵或值是否存在
查找是否存在值使用in_array()函數(shù)
復(fù)制代碼 代碼如下:
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
if (in_array("Juneau", $capitals))
{
echo "Exists!";
} else {
echo "Does not exist!";
}
查找是否存在鍵使用array_key_exists()函數(shù)
復(fù)制代碼 代碼如下:
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
if (array_key_exists("Alaska", $capitals))
{
echo "Key exists!";
} else {
echo "Key does not exist!";
}
9、數(shù)組查找
這個(gè)是老生常談了,基本上都用的到array_search()函數(shù)
復(fù)制代碼 代碼如下:
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
$state = array_search('Juneau', $capitals);
// $state = 'Alaska'
10、使用php標(biāo)準(zhǔn)函數(shù)庫(kù)
一口氣介紹這個(gè)多操作array的函數(shù),如果您還覺(jué)得不過(guò)癮,可以繼續(xù)查看Standard PHP Library 中的內(nèi)容^_^
復(fù)制代碼 代碼如下:
$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
$arrayObject = new ArrayObject($capitals);
foreach ($arrayObject as $state => $capital)
{
printf("The capital of %s is %s<br />", $state, $capital);
}
// The capital of Arizona is Phoenix
// The capital of Alaska is Juneau
// The capital of Alabama is Montgomery
相關(guān)文章
PHP實(shí)現(xiàn)操作redis的封裝類完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)操作redis的封裝類,以完整實(shí)例形式較為詳細(xì)的分析了PHP操作redis的自定義類及其相關(guān)使用方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11PHP實(shí)現(xiàn)將視頻轉(zhuǎn)成MP4并獲取視頻預(yù)覽圖的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)將視頻轉(zhuǎn)成MP4并獲取視頻預(yù)覽圖的方法,涉及php操作視頻文件的技巧,需要的朋友可以參考下2015-03-03javascript數(shù)組與php數(shù)組的地址傳遞及值傳遞用法實(shí)例
這篇文章主要介紹了javascript數(shù)組與php數(shù)組的地址傳遞及值傳遞用法,實(shí)例分析了javascript與php的數(shù)組使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01php提交post數(shù)組參數(shù)實(shí)例分析
這篇文章主要介紹了php提交post數(shù)組參數(shù)的用法,結(jié)合實(shí)例分析了php使用post進(jìn)行參數(shù)提交的相關(guān)技巧,需要的朋友可以參考下2015-12-12php簡(jiǎn)單生成一組與多組隨機(jī)字符串的方法
這篇文章主要介紹了php簡(jiǎn)單生成一組與多組隨機(jī)字符串的方法,涉及php基于rand方法的隨機(jī)字符串相關(guān)操作技巧,需要的朋友可以參考下2017-05-05PHP setcookie設(shè)置Cookie用法(及設(shè)置無(wú)效的問(wèn)題)
平時(shí)用Session比較多,很少用到Cookie,這次是為了解決Discuz!自動(dòng)同步登陸不得不用Cookie。2011-07-07php結(jié)合安卓客戶端實(shí)現(xiàn)查詢交互實(shí)例
本文給大家分享的是php結(jié)合安卓客戶端實(shí)現(xiàn)查詢交互實(shí)例,java端主要分三步來(lái)實(shí)現(xiàn):首先進(jìn)行 http request.網(wǎng)絡(luò)請(qǐng)求相關(guān)操作,第二步,使用execute方法發(fā)送HTTP GET請(qǐng)求,并返回HttpResponse對(duì)象,第三步,使用getEntity方法活得返回結(jié)果。有需要的小伙伴參考下2015-05-05