Php45道基础知识题 以及答案与解释

时间:2024-03-07 10:26:18

一:选择题(单项选择,每题2分):

 

1. LAMP具体结构不包含下面哪种( A )

A:Windows系统      L是linux

B:Apache服务器      Apache代表LAMP中的A

C:MySQL数据库       MySQL代表LAMP中的M

D:PHP语言      PHP代表LAMP中的P

2. 以下哪个SQL语句是正确的( D)

A:insert into users (‘p001’,’张三’,’男’);     value

B:create table (Code int primary key);    少表名

C:update users  Code=’p002’ where Code=’p001’;   set

D:select Code as ‘代号’ from users;

3. 以下哪种类型是B/S架构的正确描述( C )         B代表浏览器  S客户端

A:需要客户安装客户端      不需要安装客户端

B:不需要安装就可以使用    

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;    Jav定义

D:var $a = 12;    不是定义方式

6 . php中单引号和双引号包含字符串的区别正确的是(  D  )

A:单引号速度快,双引号速度慢      AB存在争议  不用管

B:双引号速度快,单引号速度慢

C:单引号里面可以解析转义字符      不可以

D:双引号里面可以解析变量

7 . 若x,y为整型数据,以下语句执行的$y结果为(  B )

$x = 1;  

++$x;     ++$x  先加一再赋值     $x++  先复制再加一

 $y =$x++;    

A:1 B:2 C:3 D:0

8 . php中关于字符串处理函数以下说法正确的是(  C )

A:implode( )方法可以将字符串拆解为数组      explode

B:str_replace()可以替换指定位置的字符串     查找替换

C:substr( )可以截取字符串

D:strlen( )不能取到字符串的长度    取字符串长度

9 . 以下代码运行结果为:(A  )

<?php

$first = "This course is very easy !";

$second = explode(" ",$first);

$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

C:strstr,explode, echo

D:strchr, split, var,_dump

11、下列说法正确的是:(B         只针对php

A. 数组的下标必须为数字,且从“0”开始     都可以

B. 数组的下标可以是字符串  

C. 数组中的元素类型必顺一致    都可以

D. 数组的下标必须是连续的    可以不连续

12、下面哪项描述是错误的?( C  )

A. 普通成员是属于对象的

B. 成员变量需要用public protected private修饰,在定义变量时不再需要var关键字

C. 静态成员是属于对象的     静态成员属于类的

D. 包含抽象方法的类必须为抽象类,抽象类不能被实例化

13、关于exit( )与die( )的说法正确的是( C 

A、当exit( )函数执行会停止执行下面的脚本,而die()无法做到      都会停止

B、当die()函数执行会停止执行下面的脚本,而exit( )无法做到      都会停止 

C、使用die()函数的地方也可以使用exit()函数替换

D、die()函数和exit()函数没有区别       有区别

 

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

      function print_A(){

      $A = "phpchina";

      echo "A值为: ".$A."<p>";

//return ($A);

      }

      $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 ";                  

function print_A()               

{

 $A = "php mysql !!";

  global $A;  

 echo $A;

}

 

echo $A;

print_A();

?>

 

A Hello

B php mysql !!

C Hello Hello

D Hello  php mysql !!

17、以下代码输出的结果是(B )      可变变量

$a = "aa";

$aa = "bb";

echo  $$a;

A aa

B bb

C $aa

D $$a

18、以下代码输出的结果是( A )

<?php

$a = 10;

$b = &$a;

echo $b;

$b = 15;

echo $a;

?>

A 1015

B 1010

C 1515

D 1510

 

19、php输出拼接字符串正确的是(  C )

A echo $a+”hello”    不是加

B echo $a+$b     不是加

C echo $a.”hello”

D echo ‘{$a}hello’    不是单引号

20、在用浏览器查看网页时出现404错误可能的原因是 (  B  

A 页面源代码错误

B 文件不存在

C 与数据库连接错误

D 权限不足

21、以下代码输出的结果为( D )      弱类型语言可以自动转换

<?php

$attr = array("0"=>"aa","1"=>"bb","2"=>"cc");

echo $attr[1];

?>

A 会报错!

B aa

C 输出为空

D bb

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

Hello world

AA;  

该方式可以定义字符串

D:print $a,”hello”;可以输出数据不报错    致命错误不行

27、下列说法不正确的是( D )

A:list()函数可以写在等号左侧    唯一一个可以写在左侧的函数

B:each()函数可以返回数组里面的下一个元素

C:foreach()遍历数组的时候可以同时遍历出key和value

D:for循环能够遍历关联数组  只能关联索引数组

28、关于面向对象的说法不正确的是( C )

A:OOP是面向对象的简称

B:静态成员是属于类的

C:普通成员是属于类的    普通成员属于对象的

D:类里面的$this关键字代表该对象本身

29、下列定义函数的方式是正确的( B )

A:public void Show(){ }  

B:function Show($a=5,$b){  }

C:function Show(a,b){  }    $

D:function Show(int $a){  }    int

30、下面哪个选项没有将 john 添加到 users 数组中? (  B  )

A. $users[] = "john"; 

B. array_add($users, "john");  

C. array_push($users, "john");

D. $users [“aa”]= "john" ;

31、php中以下能输出1到10之间的随机数的是( C  )

A:echo rand();

B:echo rand()*10;

C:echo rand(1,10);

D:echo rand(10);

 

32、php中以下能输出当前时间格式像:2016-5-6 13:10:56 的是( A )

A:echo date(“Y-m-d H:i:s”);

B:echo time();

C:echo date();

D:echo time(“Y-m-d H:i:s”);

33、以下哪项不属于函数的四要素( D )

A:返回类型

B:函数名

C:参数列表

D:访问修饰符

34、以下说法正确的是( C )

A:@符号可以屏蔽所有错误    致命错误不行
B:exit;后面的语句可以继续执行    退出

C:10/4得出的结果是 2.5  强类型语言得2    php是弱类型语言

D:$$a;这种写法是错误的

 

35、以下关于构造函数说法不正确的是( B )

A:研究一个类,首先我们要研究的函数是构造函数
B:构造函数写法和普通函数没有区别      类里边最先执行的一个方法

C:构造函数执行比较特殊

D:如果父类中存在构造函数并且需要参数,子类在造对象的时候也应该传入相应的参数。

36、以下关于多态的说法正确的是( D )

A:多态在每个对象调用方法时都会发生       不是每个
B:多态是由于子类里面定义了不同的函数而产生的

C:多态的产生不需要条件       需要

D:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在父类引用调用相应的函数的时候表现出的不同称为多态。

37、以下代码在页面上会输出多少行数据( A )    

$attr = array(1,2,3,4);

while(list($key,$value) = each($attr))

{

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取到      这个是JS里的方法
  B:unset()方法不能删除数组里面的某个元素      unset()是注销定义的变量

C:php的数组里面可以存储任意类型的数据

D:php里面只有索引数组

39、以下说法不正确的是(  B )

A:模糊查询使用的关键字是like 
B:排序查询asc是降序,desc是升序       升序是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中布尔类型数据只有两个值:真和假。(  对   ) 

        布尔型数据是逻辑数据类型,是一种只有两种取值的原始类型,非零,通常是1或者-1     1、-1又等价于真、假

2.php中连接两个字符串的符号是“+ ”。(   错   )          用的是 .

3.php可以使用“scanf”来打印输出结果。(   错   )         scanf 输入函数

4.每个语句结尾都要加“;”来表示语句结束。 (   对   )

5.php变量使用之前需要定义变量类型。(  错   )       不需要

6.在php中“==”的意思是“等于”。(   对   )

7.while和do-while语句都是先判断条件再执行循环体。(   错   )

           While:先判断再循环    do-while:先循环再判断

8.“break ”代表的意思是跳出循环。(   对   )

9.若定义数组时省略关键字key,则第三个数组元素的关键字为3。(   错   )

10.mysql数据库中查询数据用select语句。(   对    )