一、单选题(共29题,每题5分)
1.PHP面向对象方法重写描述错误的是?
A、子类必须继承父类
B、子类可以重写父类已有方法
C、重写之后子类会调用父类方法
D、子类也可以具有与父类同名的属性,进行属性覆盖
参考答案:C
答案解析:重写之后子类不会再去调用父类的方法,而是直接调用自身的方法。
2.php选项/信息函数作用错误的是?
A、phpinfo() 输出关于 PHP 配置的信息
B、php_sapi_name() 返回 web 服务器和 PHP 之间的接口类型
C、ini_set() 为一个配置选项设置值
D、ini_get() 获取所有配置选项
参考答案:D
答案解析:ini\_get() 是获取一个配置选项,获取所有配置选项的函数是ini\_get\_all()。
(加入群677079770获取更多面试题答案。)
3.下列说法错误的是:
A、链表分为单向链表,双向链表,循环链表
B、栈 先进后出
C、队列 先进先出,可以从头部插入
D、队列 先进先出
参考答案:C
答案解析:链表分为单向链表,双向链表,循环链表 栈 先进后出 队列 先进先出。
4.数组的遍历方式,下列错误的是?
A、foreach
B、each
C、for
D、list
参考答案:D
答案解析:list只能把数组的元素变成变量,并不是遍历。
联合使用list()、each()和while循环遍历数组
each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。
list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。
5.以下哪种方法不可以设置PHP的最大执行时间为120秒?
A、修改php的配置文件 php.ini 文件,max_executin_time = 120;
B、$max_execution_time = 120
C、ini_set("max_execution_time", "120");
D、set_time_limit(120);
参考答案:B
答案解析:第一种方式需要重启服务器,第三种第四种直接在脚本中用函数设置,第二种只是一个普通变量,不管用。
6.正则中\w代表什么含义?
A、[0-9a-z]
B、[0-9a-zA-Z]
C、[0-9a-zA-Z_]
D、[0-9a-zA-Z_-\]
参考答案:C
答案解析:\w匹配字符数字和下划线。
7.Java类库中,将信息写入内存的类是( )。
A、 java.io.FileOutputStream
B、 java.io.ByteArrayOutputStream
C、 java.io.BufferedOutputStream
D、 java.io.DataOutputStream
参考答案:B
答案解析:暂无。
(加入群677079770获取更多面试题答案。)
8.以下PHP代码运行结果正确的是?
A、Array ( [val1] => Array ( [0] => 1 [1] => 2 ) [val2] => 3 [val3] => Array ( [0] => 4 [1] => 5 ) )
B、array(2) { [0]=> int(4) [1]=> int(5) }
C、array(2) { [0]=> int(1) [1]=> int(2) }
D、null
参考答案:B
答案解析:
array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组
10.关于php指针的函数作用,说法错误的?
A、current()返回数组中的当前单元
B、end() 将数组的内部指针指向最后一个单元
C、reset() 将数组的内部指针指向第一个单元
D、prev() 将数组的内部指针向前移动一位
参考答案:D
答案解析:prev()是 数组的内部指针倒回一位。
11.下面哪一个正则表达式用来验证电子邮件(如: zhang.san_123@scse.com.cn )的格式最正确()
A、[_\.0-9a-z]@([0-9a-z]+\.)+[0-9a-z\.-]{2,6}
B、[_\.0~9a~z-]*@([0~9a~z-]+\.)+[0~9a~z\.]+
C、[_\.0-9a-z-]+@([0-9a-z-]+\.)+[0-9a-z\.]+
D、[_\.0~9a~z-]+@([0~9a~z-]+\.)+[0~9a~z]{2,6}
参考答案:C
答案解析:C
12.PHP面向对象继承特征描述错误的是?
A、类使用extends关键字,让子类继承父类
B、子类只能继承父类的非私有属性
C、类继承父类后,相当于将父类的属性和方法copy到子类可以直接使用$this调用
D、PHP只支持单继承不支持一个类继承多个类和多层继承
参考答案:D
答案解析:PHP是单继承只能继承一个类,但是可以进行多层继承。
(加入群677079770获取更多面试题答案和学习资料。)
13.下列哪种PHP运行模式在PHP5.3之后不再支持?
A、CGI
B、FASTCIG
C、ISIPA
D、CLI
参考答案:C
答案解析:在PHP5.3以后,PHP不再有ISAPI模式,安装后也不再有php5isapi.dll这个文件。要在IIS6上使用高版本PHP,必须安装FastCGI扩展,然后使IIS6支持FastCGI。
14.为什么InnoDB表要建议用自增列做主键?
A、使用自增列(INT/BIGINT类型)做主键,这时候写入顺序是自增的,和B+数叶子节点分裂顺序一致
B、无
C、该表不指定自增列做主键,同时也没有可以被选为主键的唯一索引(上面的条件),这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致
D、使用自增列(INT/BIGINT类型)做主键,这时候写入顺序是自增的,和B+数叶子节点分裂顺序一致; 该表不指定自增列做主键,同时也没有可以被选为主键的唯一索引(上面的条件),这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致; 除此以外,如果一个InnoDB表又没有显示主键,又有可以被选择为主键的唯一索引,但该唯一索引可能不是递增关系时(例如字符串、UUID、多字段联合唯一索引的情况),该表的存取效率就会比较差
参考答案:D
答案解析:1.InnoDB引擎表是基于B+树的索引组织表(IOT); 2.每个表都需要有一个聚集索引(clustered index); 3.所有的行记录都存储在B+树的叶子节点(leaf pages of the tree); 4.基于聚集索引的增、删、改、查的效率相对是最高的; 5.如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择其作为聚集索引; 6.如果没有显式定义主键