PHP array操作10個小技巧分享

來源:互聯網
上載者:User

1、向array中添加元素
php是一個弱類型語言。因此不必象c語言那樣為php array聲明長度。向其中添加元素的過程也是聲明和初始化的過程。 複製代碼 代碼如下:$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);

繼續添加元素也很簡單 複製代碼 代碼如下:$capitals['Arkansas'] = 'Little Rock';

如果不是關聯陣列而只是數字索引的數組可以使用array_push()和array_unshift()函數增加元素
2、從array中刪除元素
從數組中移除元素可以使用unset() 函數 複製代碼 代碼如下:unset($capitals['California']);

也可以使用array_pop()或array_shift()函數從數組頭或尾部順序移除元素
3、array索引值互換
如果希望建立數組的鍵是老數組的值而值是老數組的鍵,簡而言之就是索引值對調,則可以使用array_flip()函數完成操作 複製代碼 代碼如下:$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
$states = array_flip($capitals);
// $states = array(
// 'Montgomery' => string 'Alabama',
// 'Juneau' => string 'Alaska',
// 'Phoenix' => string 'Arizona'
// );

4、合并數組
如果希望將兩個或多個數組合并成一個新的數組,array_merge()函數可以幫上這個忙^_^ 複製代碼 代碼如下:$stateCapitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);
$countryCapitals = array (
'Australia' => 'Canberra',
'Austria' => 'Vienna',
'Algeria' => 'Algiers'
);
$capitals = array_merge($stateCapitals, $countryCapitals);

5、修改array中的值
譬如希望將數組的中值全部改為小寫後大寫首字母,使用回呼函數遞迴地對每個數群組成員調用是個不錯的方法,php中這個函數是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、根據array的鍵為數組排序 複製代碼 代碼如下:$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
ksort($capitals);

7、隨機化array元素的順序
shuffle() 和上面的ksort()函數恰恰相反,可以打亂數組現有的秩序,以達到隨機化的目的。 複製代碼 代碼如下:$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
shuffle($capitals);

8、尋找鍵或值是否存在
尋找是否存在值使用in_array()函數 複製代碼 代碼如下:$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
if (in_array("Juneau", $capitals))
{
echo "Exists!";
} else {
echo "Does not exist!";
}

尋找是否存在鍵使用array_key_exists()函數 複製代碼 代碼如下:$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
if (array_key_exists("Alaska", $capitals))
{
echo "Key exists!";
} else {
echo "Key does not exist!";
}

9、數組尋找
這個是老生常談了,基本上都用的到array_search()函數 複製代碼 代碼如下:$capitals = array(
'Arizona' => 'Phoenix',
'Alaska' => 'Juneau',
'Alabama' => 'Montgomery'
);
$state = array_search('Juneau', $capitals);
// $state = 'Alaska'

10、使用php標準函數庫
一口氣介紹這個多操作array的函數,如果您還覺得不過癮,可以繼續查看Standard PHP Library 中的內容^_^ 複製代碼 代碼如下:$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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.