美文网首页
php面试题

php面试题

作者: 3hours | 来源:发表于2017-05-06 08:48 被阅读0次

    1、谈谈你对php、mysql、apache的认识

    (评分标准:4-3-3)

    PHP:是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

    MySQL: MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。与Oracle、DB2、SQL Server 等数据库类似。

    Apache: Web服务器软件,它快速、可靠并且可通过简单的API扩充,将Perl/Python/Php等解释器编译到服务器中。

    2、php中的数据类型有哪些?声明每种数据类型(特殊类型除外)的变量并赋值

    (评分标准:八种数据类型4分,对象数组赋值分别2分,其他共2分)

    四种标量类型:a.布尔  b.整型 c.浮点型 d.字符串

    两种复合类型:a.array数组    b. object 对象

    两种特殊类型:a.resource资源标识符   b.NULL

    $bol = true;

    $int = 10;

    $f   = 3.14;

    $str = "hello world";

    $arr = array(1,2,3,4,5);

    class Person {

    public $name = "Shafee";

    public function say() {

    echo $this->name." say hello to you";

    }

    }

    $p = new Person();

    $n = null;

    3、使用php生成九九乘法表

    (评分标准:使用两个for循环得6分,其他视完成程序给分)

    echo "";

    for($i = 1; $i < 10; $i++) {

    for($j = 1; $j < 10; $j++) {

    if($i >= $j) {

    ";

    echo "$i * $j = $i*$j";

    echo "";

    }

    }

    echo "";

    }

    echo "";

    4、创建一个关联数组,并写出不少于5个与数组相关的函数并指明作用

    (评分标准:关联数组得2分,写出一个函数得1分,2个函数得2分,三个函数得4分)

    关联数组:$arr = array("apple" => "苹果", "pear" => "梨", "orange" => "橙子");

    array_shift($arr) 删除数组第一个元素

    array_push($arr, "banana"); 在末尾添加元素

    array_pop($arr); 在删除元素

    array_sum(array(1,2,3,4))  求数组元素之和

    array_unique($arr)   移除数组中重复的值

    ...

    更多函数参考http://php.net/manual/zh/book.array.php

    5、字符串的声明方式有哪几种?他们各自的特点是?

    (评分标准:3-3-4)

    a.使用单引号,在单引号字符串中的变量和特殊字符的转义序列将不会被替换

    b.使用双引号,双引号定义的字符串最重要的特征是变量会被解析

    c.定界符,用heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串string本身,最后要用前面定义的标识符作为结束标志。结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头

    6、写出不少于5个关于字符串操作的函数并指明作用

    (评分标准:写出三个4分,5个8分,6个以上10分)

    a.strlen— 获取字符串长度

    b.strtolower— 将字符串转化为小写

    c.strtoupper— 将字符串转化为大写

    d.substr_count— 计算字串出现的次数

    e.substr_replace— 替换字符串的子串

    f.substr— 返回字符串的子串

    g.trim— 去除字符串首尾处的空白字符(或者其他字符)

    h.ucfirst— 将字符串的首字母转换为大写

    更多参考:http://php.net/manual/zh/ref.strings.php

    7、数据库用户名为root,密码空,连接数据库test,并打印出表user中字段为name的所有记录。写出实现以上功能的php代码

    (评分标准:设置响应头1分,打开数据库2分,数据库是否连接成功1分,sql语句1分,查询1分,遍历结构4分)

    #设置响应头

    header("Content-Type:text/html; charset=utf8");

    #连接数据库

    @$conn = mysqli_connect("localhost:3306", "root", "", "test");

    if(mysqli_connect_errno()) {

    echo "数据库连接失败".mysqli_connect_errno();

    exit();

    }

    #sql语句

    $sql = "select * from user";

    #查询,返回结果集

    $result = mysqli_query($conn, $sql);

    #如结果非空,则打印name字段的所有记录

    if($result) {

    while($row = mysqli_fetch_assoc($result)) {

    echo $row["name"];

    }

    }

    ?>

    8、前端有表单数据

    用户名

    密码

    后台handle.php该如何处理前台所提交的数据?验证用户提交的username以及password,如在数据库test中的数据表user中的字段’username’、’pwd’匹配成功,则打印“登录成功”,否则“登录失败”,试写出handle.php中的代码

    (评分标准:$_POST使用4分,其他得分点:数据库连接2分,sql语句2分,执行语句1分)

    header("Content-Type:text/html; charset=utf8");

    $username = $_POST["username"];

    $pwd      = $_POST["password"];

    $conn = mysqli_connect("localhost:3306", "root", "", "test");

    if(mysqli_connect_errno()) {

    echo "数据库连接失败".mysqli_connect_errno();

    exit();

    }

    $sql = "select * from user where `username` = '$username' and `pwd` = '$pwd'";

    $result = mysqli_query($conn, $sql);

    if($result) {

    echo "登录成功";

    }else {

    echo "登录失败";

    }

    ?>

    9、将数据库test中的user表中的所有数据转换成json格式字符串返回给前端页面,请写出相关代码。

    (评分标准:打开数据库2分,sql语句1分,查询1分,遍历结果集3分,json_encode3分)

    $conn = mysqli_connect("localhost:3306", "root", "", "test");

    $sql = "select * from user";

    $result = mysqli_query($conn, $sql);

    $arr = array();

    if($result) {

    while($row = mysqli_fetch_assoc($result)) {

    array_push($arr, $row);

    }

    }

    echo json_encode($arr);

    10、使用post方式请求checkUser.php页面,并提交数据id=1,user=shafee。请写出相应的Ajax代码

    (评分标准:XMLHttpRequest对象2分,open 2分,setRequestHeader 1分,send 1分,onreadystatechange事件2分,xhr.readystate === 4 && xhr.status === 200 2分)

    javascript代码:

    var xhr = new XMLHttpRequest();

    xhr.open("post","checkUser.php", true);

    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    xhr.send("id=1&user=shafee");

    xhr.onreadystatechange= function() {

    if(xhr.readystate === 4 && xhr.status === 200){

    console.log(xhr.responseText);

    }

    }

    相关文章

      网友评论

          本文标题:php面试题

          本文链接:https://www.haomeiwen.com/subject/rdjetxtx.html