没有合适的资源?快使用搜索试试~ 我知道了~
PHP试题(网上搜集,比较乱,大部分有答案)
需积分: 0 3 下载量 52 浏览量
2010-02-01
09:21:21
上传
评论
收藏 114KB DOC 举报
温馨提示
试读
31页
PHP试题(网上搜集,比较乱,大部分有答案)
资源详情
资源评论
资源推荐
转载 -php
试题
1. 写出下列代码的结果:
<?php
$a="Hello World!";
$b=$a;
print("\$b=$b<br>");
print('$a=$a<br>');
?>
$b=Hello World!<br>$a=$a<br> //'\'是逃逸符,屏蔽紧跟在后面的单个特殊字符的特殊
用法
//''单引号对,屏蔽包含在内的几乎所有的特殊字符的特殊
含义,除了本身
//另外,在命令行下调试这些代码,<BR>是不会作为换行
输出的~ 如果在 browser,另当别论
2. 写出下列代码输出结果:
<?php
$a="First";
$b=&$a;
$c=$a;
$a="Second";
print("$a,$b,$c<br>");
?>
Second,Second,First<br> //$b 是$a 的引用赋值,所以$a 的变化就是$b 的变化
//$c 可以看作$a 复制一次以后的副本,所以是不相干的两个
变量,因此,$a 的改变不影响$c
3. 写出下列代码输出结果:
<?php
$a=2;
$b="1.2SBC3";
$c="EFG";
$result1=$a.$b;
$result2=$a*$b;
$result3=$a*$c;
print("$result1,$result2,$result3 <br>");
?>
21.2SBC3,2.4,0<br> //$result1 是字符串的连接,btw,如果这题是 2.$b,那系统会
报 error
//$result2 是数字的乘法,php 中会自动舍弃第一个不是数字的
字符开始后面的字符
//$result3 是数字的乘法,与 2 不同的是,$c 中没有任何数字型
字符,因此整体被强行转换为数值型,也就是 0,然后再和$a=2 相乘,最后结果就是 0
4. 下列不正确的变量名是:
A. $_test B. $2abc C. $Var D. $%Var
b
5. 语句 for($k=0;$k=1;$k++);和语句 for($k=0;$k==1;$k++);执行的次数分别是:
A. 无限和 0 B. 0 和无限 C.都是无限 D. 都是 0
A
/**
* 这里要重点讲一下这题,这里选择 A 应该是没问题,人所皆知
* 问题在于,如果第一句话改一下,变成 for($k=0;$k=0;$k++);,那么循环体会被执行的次
数呢?
*
* 答案是 0
*
* 原因是 for(expr A; expr B; expr C)在判断是否要执行循环体时,我们关心的是表达式
expr B 的真值。
* 注意!$k=0 这个表达式的值是 0!而不是可能的复制成功返回的 1!
* 所以,for 循环的循环判断条件为永假,自然就不会执行循环体了~~~
*
* :)
**/
6. php 函数不支持的功能有:
A. 可变的函数名称 B. 可变的参数个数 C. 通过引用传递参数
D. 通过指针传递参数 E. 实现递归函数
d
7. 下列对 php 中类的描述,不正确的是:
A. 支持单一继承 B. 支持多继承 C. 不支持构造函数 D.不支持析构函数
E.必须使用$this 指针来引用成员变量
b 多继承好像是要用到接口
8. 找出下列代码中的错误并修正:
<?php
$a[0]=""Ryan;
$b["value"]=785.9;
$c["blue"][0]="Ada";
print("$a[0],$b["value"],$c["blue"][0] <br>");
?>
<?php
$a[0]="Ryan";
$b["value"]=785.9;
$c["blue"][0]="Ada";
print("$a[0]"."$b[value]"."{$c[blue][0]}"."<br>");
?>
//引号没什么好说的
//还有关键是最后一行的$c[blue][0],如果不用花括号括起来,那么系统会自动先变量替换
$c[blue],问题是这个值不存在,所以,替换完毕后的 xxxx[0]也就没有了,所以会报错。
这就是所谓的变量数组
9. 请按照由高到低的顺序写出下列操作符的优先级:
and,=,>,+,~
~ + > = and 我猜的
10. 试述 isset()和 empty()的区别
isset()
测试变量是否存在
empty()
测试变量是否为空
在 php 这样的对变量定义不严格的语言中
如果一个变量从没有声明过,那么 isset==false|empty==true
如果一个变量已声明,但赋值为 NULL,那么和前一种情况一样
如果一个变量已声明,但赋值为'',那么 isset==true|empty==true
如果一个变量已声明,且正常赋值,那么 isset==true|empty==false
example as follow:
<?
$b = NULL;
$c = '';
$d = 'str';
echo isset($a)."a\n";
echo empty($a)."b\n";
echo isset($b)."c\n";
echo empty($b)."d\n";
echo isset($c)."e\n";
echo empty($c)."f\n";
echo isset($d)."g\n";
echo empty($d)."h\n";
?>
11. 请用尽可能少的语句实现对输入 Email 地址进行验证的功能.
eregi('^[_a-z0-9]+(\.[_a-z0-9-]+)*@[a-z0-9]+(\.[a-z0-9-]+)*$',$emailaddress)
12. 写一算法,将下列数组按升序排序,并写出排序算法名称:
$arrVar=array(64,29,1,43,30,9,39,75,4,11)
冒泡排序,过程略
13. 写一段程序,将文本文件中的每一个单词的首写字母转换成大写,并保存回原文件.
提示:将串中的单词首字母转换成大写的函数: string ucwords(string str)
14. 请写出 php 访问 MYSQL 数据库的几种方式,并做简要介绍.
15. 请写出 PHPSession 的实现方法;介绍你认为最好的实现方法,并说明理由.
提示:SessionID 的传递方式,Session 变量的存储方法等.
16. PHP 程序会有什么漏洞?
我就是最大的漏洞……
不知道对不对~~ 呵呵~~ 发现概念性的东西还是挺纠缠不清的~~
字多的慢慢再写~~~:)
0
0
for(i = 0; i < 6; i++ && k++)
printf("%2d%2d", i, k);
短这里涉及到 c 的一个语法:段路径求值(应该是叫这个)。
表达式&&的计算顺序是从左到右,所以当第一次进行&&运算的时候 i++的值为 0,则此时
整个表达式的值则为假,c 语言不会再继续进行 k++的运算。第二次运行&&的时候,i++的
返回值是真,则 c++继续运行 k++。
一、基础题
1. 写出如下程序的输出结果
<?
$str1 = null;
$str2 = false;
echo $str1==$str2 ? '相等' : '不相等';
$str3 = '';
$str4 = 0;
echo $str3==$str4 ? '相等' : '不相等';
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? '相等' : '不相等';
?>
2. 写出如下程序的输出结果
<?
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
剩余30页未读,继续阅读
happyxzxin
- 粉丝: 22
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0