设为首页 收藏本站
查看: 859|回复: 0

[经验分享] PHP 基础知识测试题 答案分析

[复制链接]

尚未签到

发表于 2017-12-29 18:38:43 | 显示全部楼层 |阅读模式
  一:选择题(单项选择,每题2分):
  1. LAMP具体结构不包含下面哪种(A      )
  A:Windows系统              如果是这个就是WMP
  B:Apache服务器
  C:MySQL数据库
  D:PHP语言
  2. 以下哪个SQL语句是正确的(D    )
  A:insert into users 少了一个values (‘p001’,’张三’,’男’);
  B:create table (Code int primary key);     漏了一个表名
  C:update users 少了一个set Code=’p002’ where Code=’p001’;
  D:select Code as ‘代号’ from users;
  3. 以下哪种类型是B/S架构的正确描述(C)     B/S 浏览器
  A:需要客户安装客户端    在浏览器上打开,并不需要安装客户端
  B:不需要安装就可以使用        浏览器的一些程序也需要安装后在使用的   例如cms
  C:依托浏览器的网络系统
  D:不需要服务器的系统        每种程序都需要服务器
  4 .php中哪个语句可以输出变量类型(C)
  A:echo    输出字符串
  B:print    输出字符串
  C:var_dump()    输出类型  变量的值
  D:print_r()   输出数组的 并没输出类型
  5 .php定义变量正确的是(  B     )
  A:var a = 5;    JS定义方式
  B: $a = 10;
  C:int b = 6;    强类型语言定义方式
  D:var $a = 12;     前面不需要加var
  6 .php中单引号和双引号包含字符串的区别正确的是(D)
  A:单引号速度快,双引号速度慢
  B:双引号速度快,单引号速度慢       A和B定义方式没有速度差别
  C:单引号里面可以解析转义字符      单引号可以原样输出
  D:双引号里面可以解析变量
  7 .若x,y为整型数据,以下语句执行的$y结果为(     B)
  $x = 1;                        x定义等于1
  ++$x;                          x等于2了
  $y =$x++;                  先把x值附给y,在把x自加1所有等于2!!如果是++$x就是3
  A:1    B:2    C:3    D:0
  8 .php中关于字符串处理函数以下说法正确的是(     C     )
  A:implode( )方法可以将字符串拆解为数组           应该用explode     implode是合并 正好相反
  B:str_replace()可以替换指定位置的字符串          查找替换把满足的全部替换 可以用substr_replace 这种是用来替换指定位置
  C:substr( )可以截取字符串
  D:strlen( )不能取到字符串的长度               可以获取长度
  9 .以下代码运行结果为:(A       )
  <?php
  $first = "This course is very easy !";     定义了一个变量first=
  $second = explode(" ",$first);              由定义了一个变量second=拆分字符串   用空格拆分的
  $first = implode(",", $second);              将数字组合并了字符串
  echo $first;
  ?>
  A  This,course,is,very,easy,!            把原来的空格变成了 ,
  B  This course is very easy !
  C  This course is very easy !,
  D  提示错误
  10 .以下程序横线处应该使用的函数为:( B )         作用:把@符号前面的字符全部截掉
  <?php
  $email = ‘langwan@thizlinux.com.cn’;
  $str = ____($email,‘@’);
  $info = ____(‘.’,$str);
  ____($info);
  ?>
  输出结果为:
  Array ([0] => @thizlinux [1]=>com[2]=>cn)    输出结果是一个数组
  A:strchr, split, var_dump        如果是这个的话就应该有类型,长度
  B:strstr, explode, print_r         strstr 也可以截取字符串,不常用
  C:strstr,explode, echo
  D:strchr, split, var,_dump
  11、下列说法正确的是:(B)    如果不放在php里面那么ACD都是正确的
  A.数组的下标必须为数字,且从“0”开始           放强类型语言是对的
  B.数组的下标可以是字符串
  C.数组中的元素类型必顺一致       可以存储任意类型
  D.数组的下标必须是连续的         可以不连续
  12、下面哪项描述是错误的?(A,C)
  A.父类的构造函数与析构函数不会自动被调用               都是自动调用的
  B.成员变量需要用public protected private修饰,在定义变量时不再需要var关键字
  C.父类中定义的静态成员,不可以在子类中直接调用        可以用
  D.包含抽象方法的类必须为抽象类,抽象类不能被实例化
  13、关于exit( )与die( )的说法正确的是( C  D)
  A、当exit( )函数执行会停止执行下面的脚本,而die()无法做到                exit   die都是终止程序
  B、当die()函数执行会停止执行下面的脚本,而exit( )无法做到
  C、die()函数等价于exit()函数
  D、die()函数于exit()函数没有直接关系
  例:
  $a =10;
  exit ();或者die();
  echo $a;
  变量a没有输出,说明程序走到exit退出了或者走到 die也退出了
  它俩的区别:
  $a =10;
  echo"该程序出错了";
  exit;
  echo $a;
  它会输出一个错误信息并且把程序终止掉
  如果是
  $a =10;
  die("该程序出错了");   可以给它参数,当执行到这的时候给出一个错误并且终止程序
  echo $a;
  14、下面程序运行结果( B )
  <?php
  $nextWeek = time() + (7 * 24 * 60 * 60);               先输出当前日期在输出下周日期,   格式化了一下
  echo 'Now: '. date('Y-m-d') ."\n";
  echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
  ?>
  A、得到今天的日期(月-日)
  B、得到今天的日期(年-月-日)与下周的日期(年-月-日)
  C、得到现在的时间(小时-分-秒)
  D、得到现在到下周的时间间隔
  15、以下代码执行结果为:(D  )
  <?php
  functionprint_A(){
  $A = "phpchina";
  echo "A值为:".$A."<p>";
  //return($A);         如果注释去掉的话就选择C
  }
  $B = print_A();   运行时会出错,因为没有返回值,是空的
  echo "B值为:".$B."<P>";
  ?>
  A  A值为:
  B值为:
  B  A值为:
  B值为: phpchina
  C  A值为: phpchina
  B值为: phpchina
  D  A值为: phpchina
  B值为:
  16、以下代码执行结果为:(C )
  <?php
  $A="Hello";
  functionprint_A()
  {
  $A = "phpmysql !!";
  global $A;                                               global    全局变量         函数是独立的模块                  $A外界定义的
  echo$A;
  }
  echo$A;
  print_A();
  ?>
  AHello
  Bphpmysql !!
  CHello Hello
  DHello  phpmysql !!
  17、以下代码输出的结果是(B    )    可变变量
  $a = "aa";
  $aa = "bb";
  echo $$a;
  Aaa
  Bbb
  C$aa
  D$$a
  18、以下代码输出的结果是(A    )
  <?php
  $a = 10;
  $b =&$a;   取a
  echo $b;      b也指向10
  $b = 15;
  echo $a;
  ?>
  A1015
  B1010
  C1515
  D1510
  19、php输出拼接字符串正确的是(   C     )
  Aecho $a+”hello”           php里不是用+
  Becho $a+$b
  Cecho $a.”hello”
  Decho ‘{$a}hello’          错在用的是单引号,双引号就对了
  20、在用浏览器查看网页时出现404错误可能的原因是( B )         404  代表网页不存在没有找到文件
  A页面源代码错误
  B文件不存在
  C与数据库连接错误
  D权限不足
  21、以下代码输出的结果为(D)
  <?php
  $attr=array("0"=>"aa","1"=>"bb","2"=>"cc");         加了索引是关联数组
  echo$attr[1];
  ?>
  A会报错!
  Baa
  C输出为空
  Dbb         弱类型语言,可以自动转换
  22、面向对象的三大特性中哪个不属于封装的做法(B       )
  A将成员变为私有的
  B将成员变为公有的
  C封装方法来操作成员
  D使用__get()和__set()方法来操作成员
  23、php的源码是(A   )   开源语言
  A.开放的    B.封闭的    C.需购买的     D.完全不可见的
  24、php如何输出反斜杠(  D     )   转义字符
  A.\n  代表换行  B.\r  代表换行    C.\t   代表制表符  D.\\
  25、下列哪项不属于OOP的三大特性(B    )
  A:封装      B:重载        C:继承        D:多态
  26、以下关于字符串的说法正确的是(C     )
  A:echo “hello\nworld”;在页面可以实现换行             在源代码里可以,在页面里不可以
  B:echo ‘helloworld{$a}’;可以解析变量a的值           单引号不能解析
  C:$str=<<<AA            定义字符串的第三种方法
  Helloworld
  AA;标识
  该方式可以定义字符串
  D:print $a,”hello”;可以输出数据不报错             print只能输出一个字符串,不能连续输出
  27、下列说法不正确的是(  D     )
  A:list()函数可以写在等号左侧            唯一可以写在等号左边的
  B:each()函数可以返回数组里面的下一个元素     如果each第一次调的时候返回的第一个,把第一个当做下一个没有问题,如果  把第一个当做第一个就有问题
  C:foreach()遍历数组的时候可以同时遍历出key和value
  D:for循环能够遍历关联数组                           不能遍历关联数组
  28、关于面向对象的说法不正确的是(C     )
  A:OOP是面向对象的简称
  B:静态成员是属于类的
  C:普通成员是属于类的                属于对象的
  D:类里面的$this关键字代表该对象本身
  29、下列定义函数的方式是正确的(   B     )
  A:public void Show(){  }               不是php里面的
  B:function Show($a=5,$b){  }       给了个默认值
  C:function Show(a,b){  }               变量前面加$符号
  D:functionShow(int $a){  }            不需要加int
30、下面哪个选项没有将 john 添加到 users 数组中? ( B  )
  A.$users[] = "john";
  B.array_add($users, "john");              php没有这种方法添加
  C.array_push($users, "john");
  D.$users [“aa”]= "john" ;
  31、php中以下能输出1到10之间的随机数的是(C    )
  A:echo rand();
  B:echorand()*10;
  C:echo rand(1,10);
  D:echorand(10);
  32、php中以下能输出当前时间格式像:2016-5-6 13:10:56 的是(A   )
  A:echodate(“Y-m-d H:i:s”);      date方法用来  格式化输出时间  括号里面写的是格式化字符串
  B:echo time();     直接输出时间戳了
  C:echodate();      方法会报错
  D:echotime(“Y-m-d H:i:s”);   time里面不能写双引号
  33、以下哪项不属于函数的四要素(   D     ) 返回类型,函数名,参数列表,函数体
  A:返回类型
  B:函数名
  C:参数列表
  D:访问修饰符
  34、以下说法正确的是(C   )
  A:@符号可以屏蔽所有错误
  B:exit;后面的语句可以继续执行
  C:10/4得出的结果是2.5    整数除以整数可以得出小数
  D:$$a;这种写法是错误的
  35、以下关于构造函数说法不正确的是(    B     )
  A:研究一个类,首先我们要研究的函数是构造函数
  B:构造函数写法和普通函数没有区别                             写法特殊有区别
  C:构造函数执行比较特殊
  D:如果父类中存在构造函数并且需要参数,子类在造对象的时候也应该传入相应的参数。
  36、以下关于多态的说法正确的是(   D     )
  A:多态在每个对象调用方法时都会发生
  B:多态是由于子类里面定义了不同的函数而产生的
  C:多态的产生不需要条件
  D:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在父类引用调用相应的函数的时候表现出的不同称为多态。
  37、以下代码在页面上会输出多少行数据(A     )
  $attr= array(1,2,3,4);       数组里面总共4个元素
  while(list($key,$value)= each($attr))          each方法会把指针往下调,如果最后了就停止了while循环是进不来的,所以只能输出4行
  {
  echo$key."=>".$value."<br>";
  }
  while(list($key,$value)= each($attr))
  {
  echo$key."=>".$value."<br>";
  }
  A:4  B:6   C:8   D:12
  38、以下说法正确的是(C   )
  A:$attr代表数组,那么数组长度可以通过$attr.length取到
  B:unset()方法不能删除数组里面的某个元素          可以删除
  C:php的数组里面可以存储任意类型的数据
  D:php里面只有索引数组    还有关联数组
  39、以下说法不正确的是(  B     )
  A:模糊查询使用的关键字是like
  B:排序查询asc是降序,desc是升序               反了
  C:分页查询使用的关键字是limit
  D:mysql如果只安装服务不安装界面也可以正常使用
  40、以下代码输出的结果为(D    )   三目运算符
  $a = "cc";
  $cc ="dd";
  echo$a=="cc"?"{$$a}":$a;
  A:cc
  B:$a
  C:$$a
  D:dd
  二、判断题(共10题,每题2分)
  
  1.php中布尔类型数据只有两个值:真和假。(  对  )  逻辑的真和假
  2.php中连接两个字符串的符号是“+ ”。(  错   )  用的是   点  .
  3.php可以使用“scanf”来打印输出结果。(   错  )     echo   print
  4.每个语句结尾都要加“;”来表示语句结束。 ( 对    )
  5.php变量使用之前需要定义变量类型。(  错   )    不需要  会根据后边的值自动确定类型
  6.在php中“==”的意思是“等于”。(    对  )  一个等号代表赋值,双等号代表等于
  7.while和do-while语句都是先判断条件再执行循环体。(  错   )  while是先判断条件 do-while是先执行循环体再判断
  8.“break ”代表的意思是跳出循环。(  对   )  continue是跳出当前这一次循环
9.若定义数组时省略关键字key,则第三个数组元素的关键字为3。( 错  )   应该是2   定义数组时省略关键字key,说明定义了一个索引数组,索引数组里第三元素是2
  10.mysql数据库中查询数据用select语句。( 对      )

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-429452-1-1.html 上篇帖子: PHP获取毫秒时间戳,利用microtime()函数 下篇帖子: php实现搜索和分页效果
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表