《郑州大学php考试试题及答案》由会员分享,可在线阅读,更多相关《郑州大学php考试试题及答案(41页珍藏版)》请在金锄头文库上搜索。
1、PHP1.1 使用 array 创建数组创建数组 /创建一个带有索引的数组$speed = array(“aa“=50,2=120,3=260,4=300); /创建一个二组数组 $two = array( “color“ = array(“red“,“blue“,“green“), “numbers“ = array(1,2,3,4,5,6,7,8,9) ); 1.2 使用使用 compact()创建数组创建数组 2. compact() 接受可变的参数数目。每个参数可以是一个包括变量名的字符串或者是一个 包含变量名的数组,该数组中还可以包含其它单元内容为变量名的数组1.2 使用使用 com
2、pact()创建数组创建数组 foreach($result as $key=$value) echo $key,“=“,$value,“; 输出: event=SIGGRAPH city=San Francisco state=CA 1.3 使用使用 range()创建数组创建数组 如果使用 array()函数,建立一个包含 100 个元素的数组,每个元素的值之间都有一定的规 律,在实际操作中是比较麻烦的。在这种情况下,就可以使用 range()函数的自动功能来完 成类似的操作。 array range(int start ,int end ,int step ) 2. 输出和测试数组输出和
3、测试数组 使用 print_r()函数输出: print_r($array);使用循环控制语句输出: foreach($array as $key=$value) echo $key,“=“,$value,“; 使用 is_array()函数测试参数是否为数组类型,如果是返回 true,否则返回 false: $states=array(“aa“,“bb“); echo “$states is an array:“.is_array($states).“; 3.增加和删除数组元素增加和删除数组元素 通过赋值增加数组元素 $arrays=array(“河南“=“郑州“); $arrays“江西“
4、=“南昌“; 使用 array_push()函数追加数组元素(入栈)int array_push ( array array_push($stack, “array_push“); print_r($stack);print “; array_pop($stack); print_r($stack);print “; array_shift($stack); print_r($stack);print “; array_unshift($stack,“array_unshift“); print_r($stack);print “; ? 4.1 定位数组定位数组 当一个数组有很多元素时,使用数
5、组遍历来求证某个值或键名是否存在,在速度和效率上 有一定的损失。PHP 提供了 in_array()和 array_key_exists()函数,可以快速从一个数组中取 得某个值或键名是否存在in_array()示例: $os = array(“Mac“, “NT“, “Irix“, “Linux“); if (in_array(“Irix“, $os) echo “Got Irix“; array_key_exists()示例: $search_array = array(“first“ = 1, “second“ = 4);if (array_key_exists(“first“, $se
6、arch_array) echo “tihs first is the array“; 4.1 定位数组定位数组 对数组的操作主要是针对键名或值,在不想破坏被访问数组的情况下,可以把这个数组的 键名或值,单独取出来进行操作,要想返回一个数组中单元的键名,可以使用 array_keys() 函数,返回单元的值,可以使用 array_values()函数。 使用 array_keys()与 array_values()这两个函数取回的键名或值,都会保存的新数组中 array_keys()示例: $array = array(0 = 100, “color“ = “red“); print_r(ar
7、ray_keys($array); 4.2 遍历数组遍历数组很多情况下我们都需要对数组进行遍历以获得各个键和值,PHP 提供很多了很多函 数来完成类似的任务 下面列举一些常用的函数Key() 返回数组中当前单元的键名。 Reset()将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如 果数组为空则返回 FALSE。Each()返回数组中当前的键值对并将数组指针向前移动一步 Current()返回数组中的当前单元的值 End() 将数组的内部指针指向最后一个单元 Next()将数组中的内部指针向前移动一位 Prev()将数组的内部指针倒回一位 4.2 遍历数组遍历数组0, “
8、color“ = “red“,55,“two“=array(1=3,5,6,7); function dg($arr) $flag=reset($arr); while(!is_bool($flag) $key=key($arr); $value=current($arr); if(is_array($value) dg($value); else echo $key.“:“.$value,“; $flag=next($arr); dg($array); ? 4. 数组排序数组排序数据排序时计算机科学中的核心问题,PHP 也提供了很多对数组的排序函数 简单排序简单排序 (键/值关联不再保持)
9、sort()、rsort()。 根据关键字排序根据关键字排序 ksort()、krsort() 根据值排序根据值排序 asort()、arsort() 自然语言排序自然语言排序 natsort()、natcasesort()、 多维排序多维排序 array_multisort() 用户自定义的规则排序用户自定义的规则排序 usort() 4. 数组排序数组排序 “lemon“, “o“=“orange“, “b“=“banana“, “a“=“apple“);foreach ($fruits as $key = $val) echo “$key = $val“,“; echo “; sort(
10、$fruits); foreach ($fruits as $key = $val) echo “$key = $val“,“; ? 4.其他常用数组函数其他常用数组函数 合并和拆分数组的函数 array_combine() Array_merge() Array_merge_recursive()等 随机返回数组键的函数 Array_rand() 随机排序函数 Shuffle() 求和函数Array_num() 值总数 count() 对下面的数组进行遍历,然后输出。 要求使用两种不同的方法 $arr = array(“lemon“, “a“=“orange“, “b“=array(6,3,
11、44,7), “c“=“apple“); 输出结果参照下面的:0:lemon a:orange b:6,3,44,7, c:apple 第五讲 面向对象 PHP 提供几种在脚本中包含文件的主要途径。 Include() 和 require() 他们的使用方式如下:被引用的文件不一定非要使用扩展名.php,你可以自己随便定义 区别:require() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生 一个警告而 require() 则导致一个致命错误。换句话说,如果想在丢失文件时停止处理页面, 那就别犹豫了,用 require() 吧。include()
12、就不是这样,脚本会继续运行。 注意:课本上 63 页介绍的并不准确了 课程目标课程目标 一、什么是面向对象(理解) 二、类和对象(掌握) 三、类的成员(掌握) 四、构造函数和析构函数(掌握) 五、其他关键字和辅助函数(了解) 第一第一 什么是面向对象什么是面向对象 面对对象技术的基本观点如下: (1)客观世界由对象组成。 (2)具有相同数据结构和操作的对象可归纳成类。 (3)类可以派生出子类,子类除了继承除了继承父类的全部特性外还可以有自己的特性 (4)对象之间的联系通过消息传递来维系。 PHP 的 WEB 技术面向对象是仿造现实对象建立的,他们也有状态和行为。软件对象在一 个 或多个变量中维
13、护它的状态。变量是一个由标识符命名的数据项。对象用方法实现它的 行为。方法是与一个对象相关联的函数(子过程) 。 对象有二个性质:状态状态(state)和行为行为(behavior)。 对象是一个封装数据属性和操作行为的实体. 类的实例化: “); /下面创建类实例 $name1=new myName(“周洲“); $name2=new myName(“周阳“); $name3=new myName(“周文“); ? 类的成员类的成员 第一第一 字段字段 1、声明字段 Class Staff public $name=“lucky“; private $age=25; 2、使用字段 与变量不同
14、,使用字段要使用-操作符,而不是美元符号 $employee=new Staff(); echo $employee-name; 当在定义字段的类中引用字段时要使用$this 关键字。$this 表示当前类 第二第二 属性属性 1、_set() /两个下划线 Class Staff public $name=“lucky“; function _set($propname,$propvalue) echo “Noexistent varible:$propname“; 可用来验证某个属性是否存在或增加新的属性 2、_get() /两个下划线 Class Staff public $name=“
15、lucky“; function _get($propname) return $this- $propname; 它接受一个属性名作为输入参数,获取该属性的值。 3、 自定义获取方法和设置方法 访问类成员变量有一个特殊的一指针$this。通过该指针,可以方便地访问类属性或者给类 属性赋值。class Person var $name; /定义属性 function get_name() /无参数return $this-name; /$this 去访问和设置当前对象的$name 属性 function set_name($new_name) / 有参数$this-name = $new_name; /同上注释echo $this-name; 第三第三 方法方法方法和函数非常相似,只不过方法是用来定义特定类的行为。与函数一样,方法可以 接受参数,并可以返回一个值。方法的调用只是在方法前面加上调用方法的对象的名称, 如下 $object-methodname(); 1、声明方法 Class Staff public function show()echo “调用了方法“; 2、调用方法$employee=new Staff(); $employee-show(); 控制对类的成员访问控制对类的成员访问 (1)public