一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

重新認識php array_merge函數

重新認識php array_merge函數

今天因一個Bug重新審視了下array_merge()這個函數。

定義:array_merge ― 合并一個或多個數組

規范:array array_merge(array $array1 [, array $...])

說明:

1. 將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。

2. 如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。   

3. 如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續方式重新索引。

這個函數在手冊中有詳盡示例,用途也很廣且實用。

今天遇到的一個問題是手冊中有警告的,只是此前沒注意到,導致了一個致命的錯誤。如下:

php >= 5.0 版本,array_merge() 只接受array類型的參數。不過可以用強制轉換來合并其它類型。

對于是foreach等代碼產生的數組變量要注意了,要么初始化該變量為空數組,要么就在合并時做個強制轉換。不然,會有大苦頭吃。因此,保持一個初始化變量的習慣也是個好事。

php中合并數組分成兩種情況

1、如果這兩個數組中有相同的字符串鍵名:

<?php  $book1 = array('linux'=>'linux服務器配置與管理','php'=>'php程序設計'); $book2 = array('linux'=>'服務器配置與管理','jsp'=>'php');   $result = array_merge($book1,$book2); print_r($result);?>

輸出為:

Array ( [linux] => 服務器配置與管理 [php] => php程序設計 [jsp] => php )

 
說明,后者將替換前者。但如果使用的是array_merge_recursive()則可保留,并作一個子數組存在。如:
 

<?php  $book1 = array('linux'=>'linux服務器配置與管理','php'=>'php程序設計'); $book2 = array('linux'=>'服務器配置與管理','jsp'=>'php');   $result = array_merge_recursive($book1,$book2); print_r($result);?>

輸出為:

Array ( [linux] => Array ( [0] => linux服務器配置與管理 [1] => 服務器配置與管理 ) [php] => php程序設計 [jsp] => php )

 
2、如果這兩個數組中有相同的數值鍵名:

<?php  $book1 = array('linux服務器配置與管理','php程序設計'); $book2 = array('服務器配置與管理','php');   $result = array_merge($book1,$book2); print_r($result);?>

結果是:

Array ( [0] => linux服務器配置與管理 [1] => php程序設計 [2] => 服務器配置與管理 [3] => php )

 
這時,如果數組中包含相同的數字鍵名,則后面的不會覆蓋前面的值,而是后面的鍵值按順序依次增加,附在后邊。明白了嗎,^_^

php技術重新認識php array_merge函數,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲激情 欧美 | 国产视频 一区二区 | 91在线品视觉盛宴免费 | 国产91精品一区二区麻豆网站 | 69国产精品视频免费 | 国产91对白在线播放 | 精品综合网 | 精品视频免费在线 | 国产成人一区免费观看 | 国产视频一区二区三区四区 | 日本在线一区二区 | 激性欧美激情在线播放16页 | 国产日韩91| 国产99视频精品草莓免视看 | 亚洲 激情| 色婷婷久久久swag精品 | 午夜在线观看视频免费 成人 | 激情视频综合网 | 91久久精品一区二区三区 | 91久久夜色精品国产网站 | 成人伊人网 | 午夜视频在线播放 | 亚洲伊人激情 | 怡红院在线观看精品 | 91亚洲视频在线 | 午夜网站视频 | 亚洲性网站 | 午夜国产| 精品综合久久久久久98 | av基地 | 久草社区在线 | 色网在线 | 亚洲图色在线 | 中文字幕91在线 | 韩国一级毛片a级免观看 | 国产呦精品一区二区三区网站 | 亚洲欧美在线免费观看 | 4hc44www四虎永久 | 222www免费视频| 欧美一级做 | 精品欧美一区二区精品久久 |