2024年2月3日发(作者:)
php高级笔试题(珍藏版)
PHP高级
一、选择题
B1、如何让一个对象实例调用自身的该对象的方法函数“mymethod”?
A.$self=>mymethod();
B.$this->mymethod();
C.$current->mymethod();
D.$this::mymethod();
B2、以下是一个类的声明,其中有两个成员属性,对成员属性正确的赋值方式是()
class Demo {
private $one;
static $two;
function setOne($value) {
$this->one=$value;
}
}
$demo=new Demo();
A.$demo->one="abc";
B.Demo::$two="abc";
C.Demo::setOne("abc");
D.$demo->two="abc";
A3、.针对PHP5中特有的魔法方法(Magic Methods),下列四句中哪句是错误的()
A.__get和__set方法用于设置并不存在的类实例的属性成员
B.__call方法用于调用并不存在的类的方法成员
C.__sleep和__wakeup方法用于在序列化类实例时处理其中的外部资源和冗余数据
D.通过__get方法,我们可以实现类的只读属性,而__set方法可以实现只写属性
B4.以下说法错误的是()
A. final关键字标识的类不能被继承
B. final关键字标识既可以标识成员方法,也可以标识成员属性
C. 在静态方法中只能访问静态成员
D. 将类中的成员属性定义为常量使用const
C5.一个类继承父类的同时实现多个接口的正确写法()
类名extends 父类名,接口1,接口2,……{ }
类名 implements接口1,接口2,…… extends 父类名{ }
C. class 类名extends 父类名 implements接口,1接口2,……{ }
D. class 类名 implements父类名 implements接口,1接口
D6.下面哪一项不是PHP中面向对象的机制()
A.类 B.属性、方法 C.单一继承 D.多重继承
C7.如果成员没有声明限定字符,属性的默认值是:()
A.private B.protected C.public D.final
中调用类文件中的this表示()
A.用本类生成的对象变量 B.本页面 C.本方法 D.本变量
A9、在PHP5的类的定义中,如果方法M1能够调用方法M2,但M2不能调用M1,那么M1和M2应该符合?()
A.M2是静态方法而M1不是
*在静态方法中不可以使用非静态的内容。就是不让使用$this
在类的方法中可以使用其他静态属性和静态方法,不过要使用self关键字
B.M1是静态方法而M2不是
C.M1和M2都是静态方法
D.M1和M2都不是静态方法
C10.在PHP5的类的定义中,无法使用3P修饰的内容是()
A.属性 B.静态方法 C.常量 D.方法
B11.以下四条接口与抽象类的对比分析,哪条是错误的()
A.接口和抽象类都可以只声明方法而不实现它。
B.抽象类可以定义类常量,而
接口不能。
C.抽象类可以实现具体的方法,而接口不能。
D.抽象类可以声明属性,而接口不能。
D12.定义抽象类时需要加的修饰关键字()
ace C. implements ct
C13.一个类继承父类的同时实现多个接口的正确写法()
类名extends 父类名,接口1,接口2,……{ }
类名 implements接口1,接口2,…… extends 父类名{ }
C. class 类名extends 父类名 implements接口,1接口2,……{ }
D. class 类名 implements父类名 implements接口,1接口2,……{ }
C14.自动加载类函数()
e() B. require() C.__autoload() D.__call()
A15.如果父类中方法加上private修饰关键字,子类在继承中重载此方法不可以使用的修饰关键字()
B. public ted e
B16、除了使用function __construct()定义构造方法外,还可以使用()
on __destruct() B. function 类名()
on __tostring() on __call()
A17、获得实例化对象所属类名字的函数()
A. get_class() B. get_object_vars() C. get_class_methods()
B18.以下说法错误的是()
A. 在外部访问静态成员属性时使用类名::静态成员属性名
B. 在外部访问静态成员属性时使用 $实例化对象->静态成员属性名
C. 在外部访问静态方法时使用$实例化对象 ->静态方法名
D. 在外部访问静态方法时使用类名::静态方法名
A19.以下哪个不属于面向对象编程的三大特性( )
A.接口 B. 封装 C.继承 D.多态
B20.下列代码执行后,$array数组所包含的值是( )
$array=array('1','1');
foreach($array as $k=>$v){
$v=2;
}
var_dump($array);
>
A array(‘2’,’2’) B array(‘1’,’1’) C array(2,2) D
araay(Null,Null)
配置文件中有一个全局变量pageTitle = "Main
Menu",如何读取该变量?( )
A.{$config_value} B.{[config_value]}
C.{} D.{# pageTitle#}
C22.以下代码执行结果为( )
$a=”hello”;
function print_A(){
$a=”php mysql”;
global $a;
echo $a;
}
echo $a;
print_A();
>
A hello B php mysql C hellohello D hello php mysql
中用于指定存放编译过的模板文件的属性( )
A. $template_dir B.$compile_dir C.$config_dir D.$cache_dir
访问通过get方式提交的变量username的正确书写格式( )
A.{/doc/,ername}
B.{$[‘username’]}
C.{$[‘username’]}
D.{$/doc/,ername}
中日期格式化的变量调解函数( )
_format C. time
D26.在section和foreach两个循环中都有可供调用的一些变量名,用来访
问该循环中的一些特殊值,而且在循环中都必须通过Smarty保留变量{$smarty}进行访问,下面哪个特定变量只能在section区块中使用,而不能在foreach区块中使用。()
A first B last C total D loop
中调用类文件中的this表示()
A用本类生成的对象变量 B本页面 C本方法 D本变量
B28.魔术方法__get的参数表示()
A.方法名 B属性名 C属性值 D类名
C29.魔术方法__set的参数表示()
B.属性名;方法名 B类名;属性名 C属性名;属性值 D类名;方法名
A30.下列有关PDO关联索引是大写还是小写的参数说法正确的是( )。
A.PDO::LOWER—强制列名为小写
B.PDO::ASSOC—关联数组形式
C.PDO::FETCH_NUM—数字索引数字形式
D.PDO::FETCH_OBJ—按照对象的方式,与mysql_affect_object()相同
C31.如果在PHP中使用Oracle数据库作为数据库服务器,应该
在PDO中加载下面哪个驱动程序( )。
A.PDO_DBLIB B.PDO_MYSQL C.PDO_OCI
D.PDO_ODBC
C32.在创建PDO对象时,需要在构造方法的第一个参数中使用数据源名DSN,用来定义一个确定的数据库和必须用到的驱动程序。下面是连接不同数据库的DSN格式,哪一个不是正确的DSN( )。
A.mysql:host=localhost;dbname=testdb
B.oci:dbname=//localhost:1521/mydb
C.ibm:database={IBM DB2 ODBC DRIVER};driver=testdb
D.mssql:host=localhost;dbname=testdb
B33.当PDO对象创建成功以后,与数据库的连接已经建立,就可以使用PDO对象了,下面哪个不是PDO对象中的成员方法( )。
A.errorInfo() B.bindParam() C.exec() D.prepare()
B34.在创建PDO对象时,有一些与数据库连接有关的选项,用来传递附加的调优参数到PDO或底层驱动程序。下面哪个选项用于确定连接为持久连接( )。
A.PDO::ATTR_AUTOCOMMIT B.PDO::ATTR_PERSISTENT
C
D35.PDO提供了多种不同的错误处理模式,不仅可以满足不同风格的编程,也可以调整扩展处理错误的方式。下面哪个不是PDO提供的错误处理模式( )。
A.ERRMODE_SILENT B.ERRMODE_WARNING
C.PDO::ERRMODE_ERROR D.ERRMODE_EXCEPTION
A36.PDO通过执行SQL查询与数据库进行交互,可以分为多种.PDO::ATTR_CONNECTION_STATUS
D.PDO::ATTR_PREFETCH
不同的策略,使用哪一种方法取决于你要做什么操作。如果向数据库发送DML语句,下面哪种方式最合适( )。
A.使用PDO对象中的exec()方法
B.使用PDO对象中的query()方法
C.使用PDO对象中的prepare()和PDOStatement对象中的execute()两个方法结合
D.以上方式都可以
B37.在PHP中哪个变量数组总是包含
所有客户端发出的Cookies数据( )。
A.$_COOKIES B.$_COOKIE C.$_GETCOOKIE
D.$_GETCOOKIES
C2.Session和Cookie的区别说法错误的是( )。
A.Session和Cookie都可以记录数据状态
B.在设置Session和Cookie之前不能有输出
C.在使用Cookie前要使用cookie_start()函数初始
D.Cookie是客户端技术,Session是服务器端技术
B38.Cookie的属性中,用来确定Cookie有效日期的属性是( )。
A.NAME B.EXPIRES C.PATH D.DOMAIN
C4.以下代码的执行结果是( )。
$username = "esnow";
$password="esnow";
$_SESSION["username"]=$username;
>
A.将注册Session B.运行错误
C.无法注册Session D.根据客户的浏览器来决定是否可以注册session
C39.对Smarty模板描述错误的是( )。
A.Smarty模板是Zend完全官方化的模板引擎
B.Smarty模板具有强大的表现逻辑功能
C.Smarty模板的特点是只适用于PHP程序员
D.Smarty模板具有模板编译、缓存等优良的特性
C40.在安装Smarty模板时,用来存储Smarty模板的目录和配置文件目录的两个属性是( )。
A.templates configs_dir B.templates configs
C.templates_dir configs D.template_dir configs_dir
D41.Smarty模板引擎需要在PHP的应用程序逻辑和页面模板中配合使用,才能完全分离表现层和逻辑层。在PHP程序中以下哪个步骤执行了编译的过程,将模板转换为PHP脚本( )。
A.加载Smarty模板引擎类,建立Smarty对象
B.修改Smarty的默认行为
C.将程序中动态获取的变量,通过Smarty对象中的assign()方法置入模板里
D.利用Smarty对象中的display()方法将模板内容输出
C42.下面哪个不是正确的在Smarty中使用变量的方式( )。
A.{func var="test $foo test"} B.{func var="test $foo[0]
test"}
C.{func var="test $foo[bar] test"} D.{func var="test
$ test"}
D43.{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。下面哪个不是合法的变量( )。
A.{$} B.{$} C.{$}
D.{$}
C44.在使用Smarty模板时可以为其创建配置文件,作为修改程序执行行为的操作接口,下面对Smarty配置文件描述不正确的一项是( )。
A.配置文件在Smarty模板中的应用,有利于设计者管理文件中的模板全局变量
B.配置文件的名称可以任意命名,但一定要保存在Smarty引擎可以找到的目录中
C.通过在S
marty模板中使用include函数用于从配置文件中加载变量
D.可以在模板中用两个“#”或者是保留变量 $来引用配置文件中的变量
C45.对Smarty模板引擎来说,缓存是必不可少的,下面哪一个是和缓存控制无关的Smarty属性( )
A.$smarty->caching B.$smarty->cache_dir
C.$smarty->cache_lifetime D.$smarty->is_cache
B46. 禁用COOKIE后session还能使用吗?
A,不可以,因为session是基于cookie的
B,
来传值
C, 可以,因为session与cookie无关
D,不可以,因为session与cookie无关
A47.在PHP中那个变量数组总是包含所有总客户端发出的cookies数据:
不是这么绝对,可以使用/doc/,e_trans_sid或者get
A. $_COOKIE B. $_COOKIES
C. $_GETCOOKIE D $_GETCOOKIES
B48、ThinkPHP中系统内置了用于获取客户端的IP地址的方法是( )
Aget_ip Bget_client_ip CIpLocation Dgetlocation
B49、mysql_insert_id()函数的作用是:
A. 查看下一次插入记录时的ID号
B. 查看刚刚插入过的自动增长ID值
C. 查看一共做过多少次insert操作
D. 查看一共有多少条记录
C50、下面哪项描述是错误的:
A. 父类的构造函数与析构函数不会自动被调用
B. 成员变量需要用public protected private修饰,在定义变量时不再需要var关键字
C. 父类中定义的静态成员,不可以在子类中直接调用
D. 包含抽象方法的类必须为抽象类,抽象类不能被实例化
A51、下面这段程序的功能是什么:
error_reporting(0);
functionrcolor() {
srand((double)microtime()*10000000);
$rand= (ramd(30, 170));
returnsprintf("%02X", "$rand");
}
functionrand_color($string) {
$array= explode("", $string);
$j= count($array);
for($i = 0; $i < $j; $i++) {
$return.= '
本文发布于:2024-02-03 22:04:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170696906051429.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |