第四章 数组
- 格式:ppt
- 大小:590.00 KB
- 文档页数:26


第四章 PHP数组
一、单选题
1. 关于数组的使用,请阅读以下代码:
$arr = array(1=>'aa','1'=>'bb');
echo $arr[1];
其正确的输出结果为()。
A、aa
B、bb
C、aabb
D、bbaa
2. 下列选项中,可以用于遍历关联数组的是()。
A、while
B、switch
C、foreach
D、for
3. 假设list($x,$y)=array(10,20,30,45),则$y的值是()。
A、10
B、20
C、30
D、45
4. 关于数组元素的删除,请阅读下面的代码:
$arr = array(0,1,2,3);
unset($arr[1]);
echo $arr[2];
其正确的输出结果是()。
A、0
B、1
C、2
D、3
5. 关于array_merge() 函数,下列说法中错误的是()。
A、该函数最多只能接收一个参数。
B、当遇到相同的字符串键名,后面的值将会覆盖前面的值。
C、如果数组是数字索引,则键名会以连续方式重新编排索引。
D、如果数组包含数字键名,后面的值将附加到数组的后面。
6. 下列函数中,可以将数组中各个元素连接成字符串的是()。
A、implode。
PHP:第四章——PHP数组array_diff计算数组差集<pre><?phpheader("Content-Type:text/html;charset=utf-8");/*知识点⼀:array_diff — 计算数组的差集原形:array array_diff ( array $array1 , array $array2 [, array $... ] )功能:对⽐返回在 array1 中但是不在 array2 及后⾯参数数组中的值。
返回:返回⼀个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。
注意:返回的数组键名保留不变。
应⽤背景案例分析:假设我们做⼀个邮件群发系统,邮件都在数组 $a中保留。
如果有本次我们不想发送给其中特定的⼏个邮箱,没必要从$a中删除,因为下次还有添加⽐较⿇烦。
处理⽅法:在做⼀个数组$b,让系统⾃动差集计算,不对在$b中包含的⼏个⽤户发邮件,其他都发送。
*///例:/*$a = range(1,9); //创建⼀个包含 1,2,3,4,5,6,7,8,9 的数组$b = array(5,6,1); //计划排除其中的 1,5,6$c = array_diff($a,$b); //结果为 2,3,4,7,8,9*///例:$a = array('动', '美', '学', '院');$b = array('a'=>'学','美');$c = array_diff($a,$b);var_export($c); //结果为动院/*知识点⼆:array_diff_assoc — 带索引检查计算数组的差集函数原形:array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )功能:计算差集,要求键值对完全相同的才进⾏减去。
第四章串和数组一.选择题1.串是一种特殊的线性表,其特殊性体现在()A.可以顺序存储B.数据元素是一个字符C.可以链式存储D.数据元素可以是多个字符2.串的长度是()A.串中不同字母的个数B.串中不同字符的个数C.串中所含字符的个数,且大于0 D.串中所含字符个数3.若串S=”software”,其子串数目是()A.8 B.37 C.36 D.94.数组A[0..5,0..6]的每个元素占5个单元,将其按列优先次序存储在起始地址为1000的连续内存单元中,则元素A[5][5]的地址为()A.1175 B.1180 C.1205 D.12105.对矩阵压缩存储是为了()A.方便运算B.节省存储空间C.方便存储D.提高运算速度6.一个n 阶对称矩阵,如果采用压缩存储方式,则容量为()A.n2B.n2/2 C.n(n+1)/2 D.(n+1)2/27.对稀疏矩阵采用压缩存储,其缺点之一是()A.无法判断矩阵有多少行多少列B.无法根据行列号查找某个矩阵元素C.无法根据行列号计算矩阵元素的存储地址D.使矩阵元素之间的逻辑关系更加复杂二.填空1.设串s1=”I am a student”,则串长为()2.设有两个串p和q,其中q是p的子串,求子串q 在p中首次出现位置的算法称为()3.一维数组的逻辑结构是(),存储结构是();对于二维或多维数组,分为按()和()两种不同的存储结构。
4.数组A[1..10,-2..6,2..8]以行优先顺序存储,设第一个元素的首地址为100,每个元素占3个单元的存储空间,则元素A[5][0][7]的存储地址为()5.三维数组R[C1..D1,C2..D2,C3..D3]共含有()个元素。
三、算法设计1.编写下列算法(假定下面所用的串均采用顺序存储方式,参数c、c1和c2均为字符型):(1)将串S中所有其值为c1的字符换成c2的字符。
(2)将串S中所有字符逆序(3)从串S中删除其值等于c的所有字符(4)从串S中第index个字符起求出首次与字符串S1相同的子串的起始位置(5)从串S中删除重第i个字符起的j 个字符(6)从串S中删除所有与串S1相同的子串(允许调用第(4)题和第(5)题的算法)2.设计程序,计算串str中每一个字符出现的次数。