国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

重新認識php array_merge函數

2024-09-04 11:43:12
字體:
來源:轉載
供稿:網友

PHP中合并數組分成兩種情況:1.如果這兩個數組中有相同的字符串鍵名 2.如果這兩個數組中有相同的數值鍵名。

重新認識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、如果這兩個數組中有相同的字符串鍵名:

  1. <?php 
  2.    
  3.  $book1 = array('linux'=>'linux服務器配置與管理','php'=>'PHP程序設計'); 
  4.  $book2 = array('linux'=>'服務器配置與管理','jsp'=>'PHP');  
  5.    
  6.  $result = array_merge($book1,$book2); 
  7.  print_r($result); 
  8. ?> 

輸出為:

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

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

  1. <?php 
  2.    
  3.  $book1 = array('linux'=>'linux服務器配置與管理','php'=>'PHP程序設計'); 
  4.  $book2 = array('linux'=>'服務器配置與管理','jsp'=>'PHP');  
  5.   //www.survivalescaperooms.com 
  6.  $result = array_merge_recursive($book1,$book2); 
  7.  print_r($result); 
  8. ?> 

輸出為:

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

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

  1. <?php 
  2.    
  3.  $book1 = array('linux服務器配置與管理','PHP程序設計'); 
  4.  $book2 = array('服務器配置與管理','PHP');  
  5.    
  6.  $result = array_merge($book1,$book2); 
  7.  print_r($result); 
  8. ?> 

結果是:

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 道孚县| 弋阳县| 方城县| 曲周县| 崇文区| 上思县| 本溪| 望奎县| 门头沟区| 扎兰屯市| 新民市| 沁源县| 城步| 邹城市| 凤庆县| 汝南县| 长泰县| 伽师县| 太康县| 涞源县| 郸城县| 平顶山市| 太湖县| 娄底市| 水富县| 三江| 台湾省| 南宫市| 平安县| 平塘县| 丹寨县| 苗栗市| 宜良县| 建始县| 麦盖提县| 绥江县| 锦州市| 东乌珠穆沁旗| 博客| 酒泉市| 南投县|