php 面试题
Posted 画个圈圈爱上你
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 面试题相关的知识,希望对你有一定的参考价值。
一:
<?php
header("content-type:text/html;charset=utf-8");
echo "<pre>";
// 1.写一个函数getMax($a, $b, $c),要求传入三个数字,在该函数中用最少的代码来返回最大值;
function getMax($a,$b,$c)
return max($a,$b,$c);
// echo getMax(9,5,3);
// 2.写一个函数cutString($str, $len),要求传入字符串和要截取多少个字
// (一个汉字算一个字,两个英文字符或者数字算一个字),默认从字符串第一个字符开始截取;
function cutString($str,$len)
$reg = "/^[A-za-z0-9]+$/";
if(preg_match($reg,$str))
// return 1;
return substr($str,$len*2);
else
// return 2;
return substr($str,$len);
// echo cutString('12313asddasd',3);
// 3.自己写一个函数sortArray($arr),实现数组从小到大排序,不允许使用sort函数;
function sortArray($arr)
for($i=1;$i<count($arr);$i++)
for($j=0;$j<count($arr)-$i;$j++)
if($arr[$j]>$arr[$j+1])
$arr1 = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $arr1;
return $arr;
// print_r(sortArray(array(4,5,3)));
// 4.写一个函数createArray()创建一个长度为10的数组,数组中的元素满足斐波拉契数列的规律.
// (斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……特别指出:
// 第0项是0,第1项是第一个1。)
function createArray($length)
$arr = array(1,1);
for($i=2;$i<$length;$i++)
$arr[$i] = $arr[$i-1]+$arr[$i-2];
return $arr;
print_r(createArray(10));
?>
二“:
// 表内容:
// 2005-05-09 胜
// 2005-05-09 胜
// 2005-05-09 负
// 2005-05-09 负
// 2005-05-10 胜
// 2005-05-10 负
// 2005-05-10 负
// 如果要生成下列结果, 该如何写sql语句?
// 胜 负
// 2005-05-09 2 2
// 2005-05-10 1 2
$sql1 = "select time,sum( case 1 when con='胜' then 1 else 0 end ) as sheng,
sum( case 1 when con='负' then 1 else 0 end ) as fu
from shengli GROUP BY time";
// 表中有A B C三列,用SQL语句实现:
// 当A列大于B列时选择A列否则选择B列
// 当B列大于C列时选择B列否则选择C列
$sql2 = "select if(a>b,a,b) as 'a>b',if(b>c,b,c) as 'b>c' from abc";
// 有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记 录并按以下条件显示出来(并写出您的思路): 大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。
// 显示格式:
// 语文 数学 英语
// 及格 优秀 不及格
$sql3 = "select if(语文>=80,'优秀',if(语文>=60,'及格','不及格')) as 语文,
if(数学>=80,'优秀',if(数学>=60,'及格','不及格')) as 数学,
if(英语>=80,'优秀',if(英语>=60,'及格','不及格')) as 英语
from sql3";
// 用一条SQL 语句 查询出每门课都大于80 分的学生姓名
// name kecheng fenshu
// 张三 语文 81
// 张三 数学 75
// 李四 语文 76
// 李四 数学 90
// 王五 语文 81
// 王五 数学 100
// 王五 英语 90
$sql4 = "select DISTINCT name from sql4 where name not in(select name from sql4 where fenshu<=80)";
// 课程编号2的成绩比课程编号1的成绩低的所有同学的名字和学号
$sql5 = "select * from Student where `S#` in(
select `S#` from SC where `C#` = 2 and Score <
(select min(Score) from Sc where `C#` = 1 ))";
// echo $sql1;die;
// 查询没有学全所有课程的同学的学号,姓名
$sql6 = "select * from Student where `S#` not in(select `S#` from sc)";
以上是关于php 面试题的主要内容,如果未能解决你的问题,请参考以下文章
sql 语句编写 查询参加全部科目考试的学生及其成绩 201601 张三 语文 82