博客列表 >面试题

面试题

韦小宝的博客
韦小宝的博客原创
2017年09月25日 22:07:201405浏览

1.php的无限极分类怎么实现?

cate 表名

Catecontroller.php这里是连接数据库的文件

include('Catecontroller.php'); //引入连接数据库文件
function getList($pid = 0, &$result = array(), $spac = 0)
{
    $spac = $spac + 2;
}//标题前空格重复的次数
$sql = "SELECT * FROM cate WHERE pid= $pid";//根据父id查找数据
$res = mysql_query($sql);//发送sql语句
while ($row = mysql_fetch_assoc($res)) { //判断$row里的值是否为空然后再循环
    $row['cate_name'] = str_repeat(' ', $spac) . '|--' . $row['cate_name']; //str_repeat 重复括号里的字符串,后面跟的是次数
    $result[] = $row; //把数组赋给 $result
    getList($row['id'], $result, $spac);//递归调用,自己调用自己 这个括号里的参数和上面getList($pid=0...)是一样的$row['id']==$pid=0;     }
    return $result;//把结果返回出去
}
$rs = getList();//使用方法
var_dump($rs);//打印方法结果

2.html的div垂直居中怎么实现?

position // 用于定位高和宽的
transform // 用于控制 div具体的位置

这种垂直居中可以说是最完全的

HTML代码 

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>haorooms不固定高度div写法</title>
    <style>         body {
        height: 1600px;
    }
    .center {
        position: absolute;
        top: 50%;
        left: 50%;
        background-color: #255222;
        width: 500px;
        height: 500px;
        -webkit-transform: translateX(-50%) translateY(-50%);
    }     </style>
</head>
<body>
<div>translateX 定义转换,只是用 X 轴的值。translateY 定义转换,只是用 Y 轴的值。 更多详细的到这里查看</div>
</body>
</html>

3.mysql_affected_rows() 对哪个操作没有影响

答:select 对查询操作没有影响

4.mysql_insert_id()函数的作用是什么?

答:获取上一次插入的id值

5.php变量规则

  • 变量以 $ 符号开头,其后是变量的名称

  • 变量名称必须以字母或下划线开头

  • 变量名称不能以数字开头

  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)

  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

6.如何让一个对象实例调用自身的该对象的方法函数“mymethod”?

答:$current->mymethod();

7.下面输出的代码结果是?

$s = '12345'; echo $s[$s[1]];//$s[1]=2,$s[$s[1]]=$s[2]; $s[$s[1]]='2';
echo $s;//12245;

8.两个数据库连接mysql_close关闭哪个?还是两个一起关闭?为什么?

答:关闭离mysql_close最近的那个链接,因为 mysql_close在未指定连接标识时,是就近原则。

9.mysql_data_seek()查询结果指针从多少开始?

答:0,因为 mysql_data_seek() 将 data 参数指定的 MySQL 结果内部的行指针移动到指定的行号。 接着调用 mysql_fetch_row() 将返回那一行。 row 从 0 开始。row 的取值范围应该从 0 到 mysql_num_rows - 1。 但是如果结果集为空(mysql_num_rows() == 0),要将指针移动到 0 会失败并发出 E_WARNING 级的错误,mysql_data_seek() 将返回 false。

更多详细http://www.w3school.com.cn/php/func_mysql_data_seek.asp

10.PHP,如果想要在文件末尾写入方式打开一个文件,该给fopen()传什么参数?

答:fopen("所要打开的文件名","a+");

11.php的两种复合数据类型

答:array数组,object对象.

12.ajax请求的几种状态?分别是?

答:5种,

  • (未初始化)还没有调用send()方法

  • (载入)已调用send()方法,正在发送请求

  • (载入完成)send()方法执行完成,已经接收到全部响应内容

  • (交互)正在解析响应内容

  • (完成)响应内容解析完成,可以在客户端调用了 详细的内如到 http://www.cnblogs.com/renxiaoren/p/5411600.html

13. php使用的跳出循环语句有哪些?

答:continue、break、return、exit。

详细解释到 http://www.jb51.net/article/39350.htm

14. 数据库事务具备哪些特性?

答:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

详细解释到 http://www.cnblogs.com/xiaohaillong/articles/6028446.html

15. thinkphp token 为什么可以防止重复提交?

答:token为设置在session中的一个随机数,每次用过之后就会删除,所以再次提交的时候就会提示token不正确。

16.查看一个变量是否有设置值的函数是什么?是否为空的函数是?

$a=''; //查看是否设置值 if (isset($a)) {     echo '1'; } else {     echo '0'; } //查看值是否为空 if (empty($a)) {     echo '空'; } else {     echo'非空'; }

17.优化mysql数据库的方法有哪些?

答:

  • 选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM

  • 使用连接(JOIN)来代替子查询

  • 使用联合(UNION)来代替手动创建的临时表

  • 事务处理

  • 锁定表,优化事务处理

  • 使用外键,优化锁定表

  • 建立索引

  • 优化查询语句

优化详细到这个连接 https://zhidao.baidu.com/question/176915556.html

18. 写一个方法类,用于遍历某个文件夹下的所有文件,并显示

PHP文件写入和读取

19. 用PHP打印出前一天的时间。

date_default_timezone_set("PRC");//设置时区 PRC中国时区,更多时区自行搜索 echo date('Y-m-d H:i:s', Time() - 24 * 3600).'<br>'; echo date('Y-m-d H:i:s', strtotime('-1 day'));


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议