第5章 PHP数组.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
While 迴圈 - 不知重複執行次數
第 4 章 PHP 基本語法.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
AI人工智慧報告 黑白棋 班級:資工四乙 學號:498G0009 姓名:盧冠妤.
中等职业学校电子信息类教材(计算机技术专业)
多核体系结构与并行编程模型 计算机科学导论第八讲
歡 迎 新 卸 任 校 長 梁 榮 財 廖 萬 成 交 接 茶 會 劉俊元攝製
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
第九章 病人卧位与安全的护理.
输出数组 Result: Array (     [0] => zzu     [1] => php     [2] => MySQL     [3] => javascript     [4] => html     [5] => css )
認識拿破崙˙波拿巴 關於一位運氣很差的矮子的趣事兩三件 我不是矮子!! 本日主角 重點不是這個吧? 惡搞人員:橘蘋3顆和一隻小精靈.
项目:贪吃蛇游戏设计 工作任务三:块类(Block)设计 工作任务四:蛇类(Snake)设计
第8章 字串與陣列 8-1 字串處理 8-2 一維陣列的處理 8-3 建立多維陣列 8-4 不規則陣列與參數傳遞 8-5 陣列排序與搜尋.
Ch07 PHP程式基礎 網頁程式設計.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 13 章 陣列應用.
Linked List Operations
單向鏈結串列 Singly Linked Lists.
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
C#程序设计 c# programming 泛型 C#程序设计课程组.
第二章 C# 基础知识.
第六章 結構型態 本書於2-2節已介紹若干基本資料型態,像是整數、實數、布林、字元及字串等,本章則針對一些進階的資料型態予以介紹,如陣列(Array)、記錄(Record)及集合(Set)。 6-1 陣列 6-2 動態物件變數與動態物件陣列 6-3 紀錄 6-4 集合.
第5章 数组 Visual Basic程序设计.
第8章 列舉器與集合 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
PHP 5 陣列與自定函數 陣列應用 自定函數.
第 7 章 陣列 (Array).
JAVA程序设计 第5章 深入理解JAVA语言----补充.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
程式設計 博碩文化出版發行.
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
PHP 程式流程控制結構.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
第四章 串.
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
第十章 指针.
樹 2 Michael Tsai 2013/3/26.
編譯程式設計 期末專題說明 V1.1 May 2004.
PHP5與MySQL4 入門學習指南 凱文瑞克 著 第 16 章 檔案處理.
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
第三章 C# 基础知识.
網路遊戲版 幸福農場168號.
第7章 陣列與指標 7-1 陣列的基礎 7-2 一維陣列的處理 7-3 二維與多維陣列的處理 7-4 陣列的函數參數
PHP编程基础与实例教程 PHP Fundamentals & Practices
经典算法之 冒 泡 排 序.
程式結構&語法.
第六章 迴圈與陣列.
第3章 PHP表达式.
第二章、第三章错题分析.
本节内容 字节对齐.
Instructor:Po-Yu Kuo 教師:郭柏佑
程式的時間與空間 Time and Space in Programming
第二章 Java基本语法 讲师:复凡.
Ch08 陣列 網頁程式設計.
資料結構簡介 綠園.
1. 志明打算就客戶服務開發一個語音互動(IVR)系統, 顧客可透過電話鍵盤與系統進行互動。
Ch07. 函式.
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
第二章 Java基本语法 讲师:复凡.
進階 WWW 程式設計 -- PHP Array 靜宜大學資訊管理學系 蔡奇偉副教授
第2章 Java语言基础.
顺序查找与二分查找复习.
第6章 PHP基本語法介紹.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 12 章 迴圈指令.
C#快速導讀 流程控制.
第六章 复合数据类型 指针的声明与使用 数组的声明与使用 指针与数组的相互引用 字符串及相关库函数 new与delete
题目详细要求、参考资料及更新发布于: 第二周 链表与指针 题目详细要求、参考资料及更新发布于:
Presentation transcript:

第5章 PHP数组

使用标量数据类型定义的变量只能存储单个“数据”,仅依靠标量数据类型远不能解决现实生活中的一些常见问题,例如一个设置个人信息的页面如图所示: 5.1 数组的基本概念 5.1.1 为什么引入数组 使用标量数据类型定义的变量只能存储单个“数据”,仅依靠标量数据类型远不能解决现实生活中的一些常见问题,例如一个设置个人信息的页面如图所示:

5.1.2 数组的分类 一维数组 二维数组 多维数组

5.2 一维数组的创建 5.2.1 直接将变量声明为数组元素 例如程序createArray2.php 方法一:不指定数组元素的“键” 示例程序:$characters[ ] = "humour"; 方法二:将数组元素的“键”指定为某个整数 示例程序:$interests[2] = "music"; 方法三:将数组元素的“键”指定为某个字符串 示例程序:$colors["red"] = "red"; 例如程序createArray2.php <?php $interests[2] = "music"; $interests[5] = "movie"; $interests[1] = "computer"; $interests[] = "software"; print_r($interests); ?>

5.2.2 使用array()语言结构创建数组 PHP提供了array()语言结构创建数组,array()语言结构接受一定数量用逗号分隔的 key => value 参数对,这样可以一次性地为数组添加多个元素(若key省略,则key值为整数)。例如程序createArray4.php。 <?php $colors = array("red"=>"red","green",3=>"white",5); print_r($colors);//输出:Array ( [red] => red [0] => green [3] => white [4] => 5 ) ?>

5.2.3 创建数组的注意事项 1.如果“键”是浮点数,则“键”被强制转换为整数(例如浮点数8.0将被强制转换为整数8);如果“键”是TRUE或FALSE,则“键”被强制转换为整数1或0。 2.如果“键”是字符串,且该字符串完全符合整数格式时,数组元素的“键”将被强制转换为整数(例如 "9" 将被强制转换为整数9)。 3.由于“键”唯一标识一个元素,因此数组中元素的“键”不能相等(使用= =比较)。如果两个数组元素的“键”相等,“键”对应的“值”将被覆盖。 4.不要在array() 语言结构中使用“red=>"red"”键值对的方式创建数组元素,也不要使用$colors[red] =“red”的赋值语句创建数组,否则程序的可读性及运行效率将大打折扣。

5.2.4 数组元素“值”的访问 访问数组元素值的方法和访问变量值的方法相同:指定数组名并在方括号内指定“键名”的方式“访问”数组元素的“值”。这样不仅可以读取数组元素的“值”,还可以为数组添加数组元素以及修改数组元素的“值”,并可以像访问“变量”的方法访问数组元素的值。 PHP提供两种变量赋值方式:传值赋值和传地址赋值,对于数组同样适用。

5.3 二维数组 5.3.1 二维数组的创建 二维数组的创建方法和一维数组的创建方法相同。 方法一:直接将变量声明为二维数组 <?php $students = array( "2010001"=> array("studentNo"=>"2010001","studentName"=>"张三","studentSex"=>"男"), "2010002"=> array("studentNo"=>"2010002","studentName"=>"李四","studentSex"=>"女"), "2010003"=> array("studentNo"=>"2010003","studentName"=>"王五","studentSex"=>"男"), "2010004"=> array("studentNo"=>"2010004","studentName"=>"马六","studentSex"=>"女") ); print_r($students); ?> 5.3 二维数组 5.3.1 二维数组的创建 二维数组的创建方法和一维数组的创建方法相同。 方法一:直接将变量声明为二维数组 方法二:使用array()语言结构创建二维数组

5.3.2 二维数组元素“值”的访问 二维数组中存在两个“键”,因此访问数组元素的“值”时需要指定这两个“键”。例如:$students["2010001"]["studentName"]对应的值是"张三",其中第一个键"2010001"用于指定二维数组$students中的某一“行”,第二个键"studentName"用于指定二维数组$students的该“行”的某一“列”。 只使用第一个“键”访问数组时,访问的是二维数组中的某一“行”,该行是一个一维数组(例如$students[“2010001”]对应的值是数组)。

5.4 数组处理函数及应用 5.4.1 快速创建数组的函数 1.range()函数 语法格式:array range(mixed start, mixed end) 函数功能:快速创建一个从start到end范围的数字数组或字符数组。 函数说明:如果 start > end,序列将从 start到 end。 2.explode()函数 语法格式:array explode(string separator, string str); 函数功能:使用指定的字符串分隔符separator分割字符串str,将分割后的字符串放到数组中,并返回该数组。

3.array_combine()函数 语法格式:array array_combine ( array keys, array values ) 函数功能:创建一个新数组,用数组keys的值作为新数组的“键”,数组values的值作为新数组的“值”。 4.array_fill()函数 语法格式:array array_fill ( int start_key, int length, mixed value ) 函数功能:创建一个数组,并为该数组添加length个数组元素,数组元素的“键”从start_key处开始递增,每个数组元素的值为value。 说明:length必须是一个大于零的数值,否则 PHP 会提示Warning警告信息。

5.array_pad()函数 语法格式:array array_pad ( array arr, int pad_size, mixed pad_value ) 函数功能:array_pad()函数返回数组arr的一个拷贝,并用pad_value 将其填补到 pad_size 指定的长度。如果 pad_size 为正,则数组被填补到右侧,如果为负则从左侧开始填补。如果 pad_size 的绝对值小于或等于 input 数组的长度则没有任何填补。

5.4.2 数组统计函数 1.count()函数 语法格式: int count (array arr[, int mode] ) 函数功能: 统计并计算数组arr中元素的个数。如果数组arr是多维数组,可将mode 参数的值设为常量COUNT_RECURSIVE(或整数1),计算数组arr中所有元素的个数;mode 的默认值是 0。该函数的别名函数为sizeof()。 2.max()函数 语法格式: mixed max ( array arr [, array ...] ) 函数功能: 统计并计算数组arr中元素的最大值。 说明:PHP 会将非数值的字符串当成0处理,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个数组元素的值为 0 且是最大值,函数会返回其中数值的 0,如果数组元素中没有数值的 0,则返回按字母表顺序最大的字符串。

3.min()函数 语法格式: mixed min ( array arr [, array ...] ) 函数功能: 统计并计算数组arr中元素的最小值。 说明:PHP 会将数组arr中的字符串当成 0处理,如果字符串 正是数组arr中最小的数值,则仍然会返回一个字符串;min() 函数返回一个字符串时,该字符串为数组中顺序靠前的字符串。 4.array_sum()函数 语法格式: number array_sum ( array arr) 函数功能: 统计并计算数组arr中的所有元素值的和, array_sum()返回整数或浮点数。 说明:PHP 会将数组arr中的非数值类型的元素值自动类型转 换为整数或浮点数。

5.array_product()函数 语法格式: number array_product ( array arr) 函数功能: 统计并计算数组arr中所有元素值的乘积,该函数返回整数或浮点数。 说明:PHP 会将数组arr中的非数值类型的数据自动类型转换为整数或浮点数。 6.array_count_values()函数 语法格式: array array_count_values ( array arr ) 函数功能: 统计并计算数组arr中所有元素的值出现的次数。

实训1:数组的遍历 访问数组的所有元素的过程称为数组的遍历,使用数组统计count()函数和for循环语句可以遍历连续整数“键”的数组。例如程序ergodic1.php,该程序的运行结果如图所示。 <?php $chars = range('a','d'); $counts = count($chars); for($key=0;$key<$counts;$key++){ echo $chars[$key]."<br/>"; } ?>

5.4.3 数组指针函数 每一个PHP数组在创建之后都会自动建立一个 “内部指针系统”:每个元素有一个“内部指针” (pointer)指向下一个元素;并且“内部指针系统” 会为每一个PHP数组自动建立一个“当前指针” (current)指向数组的第一个元素,图5-24是程序 createArray2.php产生的数组指针结构图。

1.key()函数 语法格式:mixed key ( array &arr) 函数功能:返回数组arr“当前指针”所指元素的“键”名。 说明:该函数并不移动“当前指针”,也不会修改数组arr的内部结构。 2.current()函数 语法格式:mixed current ( array &arr) 函数功能:返回数组arr中“当前指针”所指元素的“值”。 说明:current()函数有个别名pos。该函数并不移动“当前指针”,也不会修改数组arr的内部结构。

3.next()函数 语法格式:mixed next ( array &arr ) 函数功能:移动数组arr“当前指针”(current),使“当前 指针”(current)指向数组arr的下一个元素;然后返回“当 前指针”(current)所指的元素“值”。 说明:当“当前指针”(current)指向数组的最后一个元素 时,“当前指针”(current)为“空”,并且“当前指针” (current)指向的元素“值”为FALSE。 4.end()函数 语法格式:mixed end ( array &arr ) 函数功能:移动数组arr“当前指针”(current),使“当前 指针”(current)指向数组arr最后一个元素;然后返回“当 前指针”(current)所指的元素“值”。

5.prev()函数 语法格式:mixed prev ( array &arr ) 函数功能:移动数组arr“当前指针”(current),使“当前 指针”(current)指向数组arr上一个元素;然后返回“当前 指针”(current)所指的元素“值”。 说明:当“当前指针”(current)为“空”时,“当前指针” (current)还为“空”,并且“当前指针”(current)指向 的元素“值”为FALSE。 6.reset()函数 语法格式:mixed reset ( array &arr ) 函数功能:移动数组arr“当前指针”(current),使“当前 指针”(current)指向数组arr的第一个元素;然后返回“当 前指针”(current)所指的元素“值”。

7.each()函数 语法格式:array each (array &arr) 函数功能:以数组形式返回“当前指针”(current)所指的元素(包括“键”和“值”),然后移动数组arr“当前指针”(current),使“当前指针”指向数组arr下一个元素。 说明:该函数返回的数组中共有四个元素(“键值对”),四个元素的“键”名分别为:0,1,key 和 value,“键”名为0 和 key的元素值为arr“当前指针”(current)所指的元素键名,“键”名为1 和 valuey的元素值为arr“当前指针”(current)所指的元素值(见表): 键 值 current-key 1 current-value "key" "value"

实训2:非连续“键”的数组遍历 使用next()函数和while循环语句可以遍历非连续“键”的数组。例如程序ergodic2.php: $colors = array('orange', 'red', 'yellow'); $fruits = array('orange', 'apple', 'banana'); $temp = array_combine($colors, $fruits); reset($temp); do{ $key = key($temp); $value = current($temp); echo $key." ==> ".$value."<br/>"; }while(next($temp)); ?> 实训2:非连续“键”的数组遍历 使用next()函数和while循环语句可以遍历非连续“键”的数组。例如程序ergodic2.php:

5.4.4 数组和变量间的转换函数 1.list()语言结构 语法格式:void list ( mixed varname1[, mixed varname2[,mixed ...]]) = array arr; 函数功能:用一步操作给一组变量进行赋值。list()语言结构中定义变量名varname1、varname2等,变量值在数组arr中。 说明:list()语言结构仅用于数字“键”的数组,并要求数字“键”从0 开始连续递增。 2.extract()函数 语法格式:int extract ( array arr ) 函数功能:extract()函数使用数组arr定义一组变量,其中变量名为数组arr元素的键名,变量值为数组arr元素“键”对应的值。

3.compact()函数 语法格式:array compact ( mixed varname1[, mixed varname2[,mixed ...]] ) 函数功能:compact()函数返回一个数组,数组每个元素的“键”名为变量名varname1(varname2...),每个数组元素的“值”为变量varname1(varname2...)的值。

使用list()语言结构、each()函数和while循环语句可以实现数组的遍历。例如程序ergodic3.php: $colors = array('orange', 'red', 'yellow'); $fruits = array('orange', 'apple', 'banana'); $temp = array_combine($colors, $fruits); reset($temp); while(list($key,$value) = each($temp)){ echo $key."==>".$value."<br/>"; } ?>

5.4.5 数组遍历语言结构 foreach语言结构有两种用法: 1.foreach(array as $value); 每次循环中,“当前指针”所指元素的“值”赋给变量 $value ,然后移动数组array“当前指针”,使“当前指针” 指向下一个元素,周而复始,直至数组array最后一个元素, 此时“当前指针”为空。 2.foreach(array as $key=>$value); 每次循环中,“当前指针”所指元素的“键”名赋给变量$key, “当前指针”所指元素的值赋给变量$value,然后移动数组 array“当前指针”,使“当前指针”指向下一个元素,周而 复始,直至数组array最后一个元素,此时“当前指针”为空。

5.4.6 数组检索函数 1.array_keys()函数 语法格式:array array_keys ( array arr [, mixed searchValue ] ) 函数功能:array_keys() 函数以数组的形式返回arr数组中的 “键名”。 如果指定了可选参数searchValue,则只返回 searchValue值的键名;否则arr数组中的所有键名都会被返回。 说明:如果searchValue是字符串,则比较以区分大小写的方 式进行。 2.array_values()函数 语法格式:array array_values ( array arr ) 函数功能:array_values() 函数以数组的形式返回arr数组中 所有的元素值(过滤掉重复的元素值),并为该数组建立连续 的整数“键”。

3.in_array()函数 语法格式:bool in_array (mixed searchValue, array arr [, bool strict]) 函数功能:检查数组arr中是否存在值searchValue,如果存在则返回TRUE,否则返回FALSE。如果第三个参数strict的值为TRUE,则in_array() 函数还会检查数据类型是否相同。strict的默认值为FALSE。 说明:如果searchValue是字符串,则比较时区分大小写。 4.array_key_exists()函数 语法格式:bool array_key_exists ( mixed keyName, array arr) 函数功能:检查数组arr中是否存在键名keyName,如果存在则返回TRUE,否则返回FALSE。

5.array_search()函数 语法格式:mixed array_search(mixed searchValue, array arr [, bool strict]) 函数功能:在数组arr中搜索给定的值searchValue,如果找到则返回对应的键名,否则返回FALSE。如果第三个参数strict的值为TRUE,则array_search ()函数还会检查数据类型是否相同。strict的默认值为FALSE。 说明:如果searchValue是字符串,则比较时区分大小写;如果searchValue在arr中出现不止一次,则返回第一个匹配的键;要返回所有匹配值的键,应该用array_keys()函数。 6.array_unique()函数 语法格式:array array_unique ( array array ) 函数功能:返回移除数组arr中重复的元素“值”的新数组。 说明:函数保持了原有的“键值对”对应关系,对每个值只保留第一个遇到的键名。

5.4.7 数组排序函数 1.sort()函数 语法格式:bool sort ( array &arr ) 函数功能:sort()函数按元素“值”的升序(先是数字、然后是标点符号、最后是字母)对数组arr进行排序。如果排序成功则返回TRUE,否则返回FALSE。 说明:sort()函数为排序后的数组arr赋予新的“整数”键名。 2.asort()函数 语法格式:bool asort ( array &arr ) 函数功能:asort()函数按元素“值”的升序(先是数字、然后是标点符号、最后是字母)对数组arr进行排序。如果排序成功则返回TRUE,否则返回FALSE。 说明:数组arr经asort()函数排序后,保持数组元素原有的“键值对”对应关系。

3.rsort()函数和arsort()函数 rsort()函数和arsort()函数与sort()函数和rsort()函数是一致的,不同的是rsort()函数和arsort()函数是按降序对数组进行排序。 4.ksort()函数 语法格式:bool ksort ( array & arr) 函数功能:ksort()函数对数组arr按照键名升序排序,并保持数组元素原有的“键值对”对应关系。如果成功则返回TRUE,否则返回FALSE。 5.krsort()函数 语法格式:bool krsort ( array & arr) 函数功能:krsort()函数对数组arr按照键名降序排序,并保持数组元素原有的“键值对”对应关系。如果成功则返回TRUE,否则返回FALSE。

6.natsort()函数 语法格式:bool natsort ( array &arr ) 函数功能:用“自然排序”算法对数组arr元素“值”进行升序排序,并保持数组元素原有的“键值对”对应关系不变。 7.natcasesort()函数 语法格式:bool natcasesort ( array &arr ) 函数功能:用“自然排序”算法对数组arr元素“值”进行不区分大小写字母的升序排序,并保持数组元素原有的“键值对”对应关系不变。

8.shuffle()函数 语法格式:bool shuffle ( array &arr ) 函数功能:shuffle()函数为数组arr随机排序。 说明:shuffle ()函数将为随机排序后的数组arr赋予新的键名。 9.array_reverse()函数 语法格式:array array_reverse ( array arr [, bool preserve_keys] ) 函数功能:array_reverse()函数返回一个和数组arr元素顺序相反的新数组,如果preserve_keys为TRUE 则保持数组元素原有的“键值对”对应关系不变。

5.4.8 数组与数据结构 1.array_push()函数 语法格式:int array_push ( array &arr, mixed var1 [, mixed var2 [, mixed …]] ) 函数功能:array_push()函数将arr当成一个栈,并将参数 var1、var2…分别压入arr的末尾。 2.array_pop()函数 语法格式:mixed array_pop ( array &arr ) 函数功能:array_pop()函数弹出数组arr最后一个元素,并返 回该元素值。如果 array 为空(或者不是数组)将返回NULL。 说明:使用array_pop()函数后会把数组arr的“当前指针”复 位(自动调用reset()函数)。

3.array_unshift()函数 语法格式:int array_unshift ( array &arr, mixed var1 [, mixed var2 [, mixed …]] ) 函数功能:将arr当成一个特殊的队列(如图所示),并将参数var2、var1…分别插入arr的队首。该函数返回入队元素的个数。 说明:这个特殊的队列限定在对首插入元素,在队首删除元素。

4.array_shift()函数 语法格式:mixed array_shift ( array &arr ) 函数功能:array_shift()函数删除数组arr第一个元素,并返回该元素值。如果array为空(或者不是数组)将返回NULL。 说明:使用array_shift()函数后会把数组arr的“当前指针”复位(自动调用reset()函数)。

5.4.9 数组集合运算函数 1.array_merge()函数 语法格式:array array_merge ( array arr1 [, array arr2 [, array ...]] ) 函数功能:将数组arr1、arr2等合并为一个新数组,该函数返回该新数组(集合的并集运算)。多个数组中,如果元素的键名相同,则后面的数组的元素“值”覆盖前面数组的元素“值”。如果数组元素的键名是数字,后面的值将不会覆盖原来的值,而是附加到后面。

2.array_diff()函数 语法格式:array array_diff ( array arr1 [, array arr2 [, array ...]] ) 函数功能:array_diff() 函数返回一个新数组,新数组中的元素“值”是所有在 arr1 中,但不在任何其它参数数组中的元素“值”(集合的差集运算)。 3.array_intersect()函数 语法格式:array array_intersect ( array arr1 [, array arr2 [, array ...]] ) 函数功能:array_intersect()函数返回一个新数组,新数组中的元素“值”是即在 arr1数组中,又在arr2等数组中出现的元素“值”(集合的交集运算)。

4.array_diff_assoc ()函数 语法格式array array_diff_assoc ( array arr1 [, array arr2 [, array ...]] ) 函数功能:array_diff_assoc () 函数返回一个新数组,新数组中的元素是所有在 arr1 中,但不在任何其它参数数组中的元素(集合的差集运算)。 说明:注意数组元素的键名也用于比较。

5.array_intersect_assoc()函数 语法格式:array array_intersect_assoc ( array arr1 [, array arr2 [, array ...]] ) 函数功能:array_intersect_assoc ()函数返回一个新数组,新数组中的元素是即在 arr1数组中,又在arr2等数组中出现的元素(集合的交集运算)。 说明:注意数组元素的键名也用于比较。

6.array_diff_key()函数 语法格式:array array_diff_key ( array arr1 [, array arr2 [, array ...]] ) 函数功能:array_diff_key () 函数返回一个新数组,新数组中的元素“键”是所有在 arr1 中,但不在任何其它参数数组中的元素“键”(集合的差集运算)。 7.array_intersect_key()函数 语法格式:array array_intersect_key ( array arr1 [, array arr2 [, array ...]] ) 函数功能:array_intersect_key () 函数返回一个新数组,新数组中的元素“键”是即在 arr1数组中,又在arr2等数组中出现的元素“键”(集合的交集运算)。