一、选择题(共30题,每题1分,总30分)
*如果没有特别指明,试题中的数据库均指mysql
1、下列不属于PHP的开始结束标记的是:( )
A、<?php ?>
B、 ?>
C、
D、< >
2、下列程序的输出结果为( )
function test($a){
$a=’456’;
}
$a=’123’;
test($a);
echo $a++;
?>
A、456
B、123
C、124
D、会报错
3、下列代码的输出结果为( )
$a=’hello world’;
echo ‘$a’.”$a”;
?>
A、hello worldhello world
B、$ahello world
C、$a$a
D、hello world
4、下列代码的输出结果为( )
function test($i)
{
return ++$i+5;
}
echo test(1);
?>
A、6
B、7
C、8
D、空
5、下列代码的输出结果为( )
$a=’123’;
$b=&$a;
$a=’789’;
$b=’456’;
echo $a;
?>
A、123
B、456
C、789
D、空
6、对以下代码输出描述正确的是( )
$array=array(1,2,3,4,’a’=>456);
foreach($array as $key=>$value)
{
echo $key;
}
?>
A、输出的是数组元素的值
B、输出$key
C、输出1234a
D、输出0123a
7、对以下代码的输出描述正确的是( )
class test{
var $a='hello world';
function __construct()
{
$this->a='good one';
}
}
$test = new test();
echo $test->a;
?>
A、输出hello world
B、输出good one
C、输出为空
D、有语法错误
8、关于以下代码的描述错误的是( )
a小于100
<?php elseif($a>100):?>
a大于100
a等于100
A、这段代码是一个if控制结构
B、代码意图使用if结构进行流程控制,但有语法错误
C、代码中的:号可以替换成{
D、代码中的;号可以替换成}
9、假设一个变量$a的值为以下json对象,下列说法中不正确的是( )
stdClass Object ( [0] => 1 [1] => 2 [2] => 3 [b] => 123 )
A、<?php echo $a->b;?>将输出123
B、可以使用foreach循环该json对象中的所有值
C、$a的值是一个对象数组
D、<?php echo count($a);?>输出4
10、对以下代码的描述不正确的是( )
$a=100;
try{
if(is_object($a))
{
echo $a->a;
}
else
{
throw new Exception('变量不是对象');
}
}catch(Exception $e){
echo $e->getMessage();
}
?>
A、这段代码进行了异常处理
B、代码将输出:变量不是对象
C、代码会报错,不会有任何正常输出
D、每一个 try 至少要有一个与之对应的 catch
11、对下列sql语句的描述正确的是( )
SELECT * FROM `user` LIMIT 1 , 2
A、该语句将查询出数据库中前2条数据
B、该语句将查询出数据库中的第2和第3条数据
C、该语句将对数据库中的数据进行倒序查询
D、该语句中的LIMIT子句有错误,应该以0开头
12、关于“如何倒序输出一个字符串”的算法描述错误的是,假设字符串变量为$str( )
A、计算出字符串的长度,然后使用for循环从最后一个字符向前输出
B、使用strrev函数
C、在从后向前输出字符时,可以采用字符串截取和$str[索引]或$str{索引}的形式
D、使用array_pop函数依次弹出字符数组中的最后一个元素
13、下列脚本的输出结果是( )
$str="你好啊,china!";
echo substr($str,-4,2);
?>
A、in
B、hi
C、na
D、ch
14、下列关于“计算1-100之间数的和”的算法描述正确的是( )
A、设置一个变量存储和的值,使用for循环对和进行依次累加
B、直接将等差数列的求和公式用PHP语言表示,然后确定公差、首项等参数进行求和
C、初始化一个存储1-100的数组,然后使用数组求和函数array_sum
D、以上说法都正确
15、关于以下脚本的输出描述正确的是( )
function cmpnum($a,$b){
if($a>$b){
$t=$a;
$a=$b;
$b=$t;
}
echo $a.'-'.$b;
}
cmpnum(5,4);
?>
A、输出1
B、输出-1
C、输出4-5
D、输出5-4
16、对下列脚本描述错误的是( )
$a='abc';
$abc=123;
echo $$a;
?>
A、脚本输出123
B、脚本使用了可变变量
C、脚本输出abc123
D、echo $$a;相当于echo $abc;
17、要查询user表中id为100的数据,如何写sql语句( )
A、select * from user where id>100
B、select * from user where id<100
C、select * from user where id<>100
D、select * from user where id=100
18、test表中只有一个reg_time字段,类型为datetime,要向该字段写入当前的时间,如何写sql语句( )
A、INSERT INTO `test` (`reg_time`) VALUES ('NOW()');
B、INSERT INTO `test` (`reg_time`) VALUES (NOW());
C、INSERT INTO `test` (`reg_time`) VALUES ('time()');
D、INSERT INTO `test` (`reg_time`) VALUES (time());
19、test表中只有id,sum两个字段,类型均为int,sum字段属性为空,id字段属性为unsigned现在要对该表中id为1的记录的sum字段进行更新操作,并且每更新一次sum字段的值要减1,如何写sql语句( )
A、UPDATE `test` SET `sum` = `sum`-1 WHERE id =1 ;
B、UPDATE `test` SET `sum` = `sum`-'1' WHERE id =1 ;
C、UPDATE `test` SET `sum` = `sum`+'1' WHERE id =1 ;
D、UPDATE `test` SET `sum` = 'sum-1' WHERE id =1 ;
E、AB均正确
20、PHP中,将@符合置于变量或函数名前面,有什么作用( )
A、可以提高函数的运行效率
B、可以自动为变量进行初始化
C、可以抑制出错时的错误信息
D、起注释作用
21、在数据库的content表中,当前记录的id是5,请写出读取下一条记录的sql语句(默认按id升序排列)( )
A、select * from content where id=6
B、select * from content where id=4
C、select * from content where id>5 limit 0,1
D、select * from content where id<5 limit 1
22、关于以下代码的输出,正确的是( )
$a=null;
$b='123';
echo $a|$b;
?>
A、null
B、123
C、空
D、0000
23、当前有一个名为father的类,现在要写一个名为son的类来继承father类(father类非抽象类),正确的继承语法是( )
A、class son ext father{
//省略其它代码
}
B、class father extends son{
//省略其它代码
}
C、class son extends father{
//省略其它代码
}
D、class son extend father{
//省略其它代码
}
24、有一个test类如下所示,下列说法中错误的是( )
class test{
var $show='123';
static function show(){
echo 'hello world';
}
}
?>
A、使用test::show();将输出hello world
B、使用
$test=new test();
$test->show();
将输出hello world
C、echo test::show;将输出123
D、使用
$test=new test();
echo $test->show;
将输出123
25、country表中存储了各个国家奥运会获得奖牌的记录数,有这么几个字段:id,name,type,num。字段的意义分别是:唯一记录,国家名,奖牌类型(金银铜),奖牌数。现在要查询出所有国家获得奖牌的总数,如何写sql语句( )
A、select * from country group by name
B、select sum(num) from country
C、select name,sum(num) from country group by name
D、select sum(num) from country group by num
26、关于以下代码的输出,正确的是( )
for($i=0;$i<100;$i++){
if($i==50)
break;
}
echo ++$i;
?>
A、空
B、50
C、51
D、52
27、关于以下代码的输出,正确的是( )
$i=10;
switch($i){
case "123":
echo '123';
case "456";
echo '456';
case "10":
$i++;
case "11":
echo $i;
}
?>
A、无输出
B、10
C、11
D、12
28、关于以下代码的输出,正确的是( )