一、写出面相对象的三大特性以及定义?
封装 继承 多态封装:对象以外的部分不能随意存取对象内部数据继承:通过子类继承父类进行功能扩展多态:对具有继承关系的不同类对象,可以对相同名称的成员函数调用,产生不同的反应效果
二、用PHP程序写出5种以上方式获取一个文件的扩展名?//第1种方法substr(strrchr($file, ‘.’), 1);
//第2种方法substr($file, strrpos($file, ‘.’)+1);
//第3种方法end(explode(‘.’, $file));
//第4种方法$info = pathinfo($file);echo $info[‘extension’];
//第5种方法pathinfo($file, PATHINFO_EXTENSION);
三、写出以下PHP程序的执行结果
$count=5;
function get_count(){
static $count=0;
return ++$count;
}
echo $count;
echo $count++;
echo $count;
echo get_count();
echo get_count();
?>
输出为:5 5 6 1 2
四、写出下列代码的输出结果:
function myfunc($argument){
echo $argunment + 10;
}
$variable = 10;
echo myfunc($variable)=.myfunc($variable);
先调用函数输出,后输出字符串输出为: 20myfunc(10)=
五、请用尽可能少的语句实现对输出Email地址进行验证的功能
/[0-9a-zA-Z_]+@[0-9a-zA-Z_]\.com|\.net|\.cn/ism
六、php是否有安全问题,如果有,请列举说明。
1.过滤用户输入的值 比如从post和get传参得来的值例:$_POST[‘user’];不过滤,会造成一连串的麻烦
2.禁用register_globals 如果不禁止,就无法确定该变量是否是预定义全局变量里的值例:regiseter_globals=on $var 会代替掉 $_POST[‘var’]
3.防止sql注入使用 mysql_real_escape_string() 作为用户输入的包装器,就可以避免用户输入中的任何恶意 SQL 注入
例: $sql = “select count(*) as ctr from users where username=”.mysql_real_
_string($username).” and password=”. mysql_real_escape_string($pw).”
limit 1″;
七、如何判断SQL语句的运行效率?如何优化一个查询SQL?使用explain查看sql语句最主要的查看type和Extra的值
1. 避免全表扫描2. 以下操作不当也会造成全表扫描3. 避免在where子句中使用!=或<>操作符, 还有null值的判断全表扫描3. 避免在where子句中使用or in not in4. 避免在where子句中对字段使用函数操作5. 不要写一些没有意义的查询6. 索引尽量不要过多
八、一群猴子排成一圈,按1,2,…,n依次编号,然后从第一个开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,再把它踢出去,……。如此不停地进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m,n,?输出最后那个大王的编号。
//注释不要抄,帮助理解
function king($m ,$n)
{
//构造数组
for($i=1 ;$i<$m+1 ;$i++){
$arr[] = $i ;
}
$i = 0 ; //设置数组指针
while(count($arr)>1)
{
//遍历数组,判断当前猴子是否为出局序号,如果是则出局,否则放到数组最后
if(($i+1)%$n ==0) {
unset($arr[$i]) ;
} else {
array_push($arr ,$arr[$i]) ; //本轮非出局猴子放数组尾部
unset($arr[$i]) ; //删除
}
$i++ ;
}
return $arr ;
}
var_dump(king(6,4));
或者
public static function play($first,$m,$k)
{
//先要找到是后一个节点
$tail=$first;
while ($tail->next!=$first)
$tail=$tail->next;
//从第几个人开始数就要将这个人设为头节点,也要找到它的后一个结点,作作辅助结点。
for($i=0;$i<$k-1;$i++)
{
$first=$first->next;
$tail=$tail->next;
}
while($tail!=$first)
{
//找到要移出的结点。
for($j=0;$j<$m-1;$j++)
{
$first=$first->next;
$tail=$tail->next;
}
//删除节点
echo 小孩.$first->no.被移除.
;$first=$first->next;
$tail->next=$first;
}
echo 大王是:.$first->no;
}
}
附加题
1、一们猎人带着一只儿狼,一只羊和一捆白菜过河,但他一次只能带三者中的一者过河。问:他怎样过河才能不至于让儿狼吃掉羊或让羊吃掉白菜
先带羊 后带白菜 再带狼
2、用小圆炉烤两个饼,每个饼正反面都要烤,而每烤一面所需要的时间是半分钟,怎样在一分半钟烤好三个饼?
a饼 b饼 烤 半分钟 把b拿掉 换上c饼 a饼反面 烤 半分钟 再把a饼拿掉 换上b饼反面 c饼反面 烤半分钟
3、一只青蛙掉进一口18英尺深的井,每天白天它向上爬6英尺,晚上向下滑3英尺。按照这个速度多少天可以爬出井口?
5天 第五天白天爬出井口
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容