• 关于php的一些基础知识


    1.HTTP协议中几个状态码的含义:503 500 401 403 404 200 301 302.

    答案:

    503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

    500 (服务器内部错误) 服务器遇到错误,无法完成请求。

    401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

    403 (禁止) 服务器拒绝请求。

    404 (未找到) 服务器找不到请求的网页。

    200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。

    301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

    302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

    某集团PHP岗位笔试题 PHP大公司面试题集合 学PHP必知

    2.include require include_once require_once的区别。

    引用文件的方法有两种:require 及 include。

    require 的使用方法如 require("file.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

    include 使用方法如 include("file.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

    _once 后缀表示已加载的不加载

    3.请写出数据类型(int char varchar datetime text)的意思,请问varchar和char有什么区别。

    int:整数类型,4 字节大小,范围(-2 147 483 648,2 147 483 647)

    char:字符串类型,大小0-255字节

    varchar:字符串类型,大小0-65535 字节

    datetime:表示时间值的日期和时间类型,大小8个字节,格式:YYYY-MM-DD HH:MM:SS

    text:字符串类型,0-65535字节,用于长文本数据存储

    char与varchar的区别:

    char (13)长度固定, 如'www.nynds.com' 存储需要空间 13个字符

    varchar(13) 可变长 如'www.nynds.com' 需要存储空间 14字符

    从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。

    而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类型来做。

    由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多.

    某集团PHP岗位笔试题 PHP大公司面试题集合 学PHP必知

    4.Mysql的存储引擎myisam和innodb的区别。

    InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。

    5.用PHP打印出前一天的时间格式是2006-5-10 22:21:21

    echo date("Y-m-d H:i:s",time()-3600*24);

    6.echo(),print(),print_r()的区别

    echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)

    print只能打印出简单类型变量的值(如int,string)

    print_r可以打印出复杂类型变量的值(如数组,对象)

    7.如何实现字符串翻转

    (1)英文字符串反转

    $str = 'abc,def.'; // 时刻记住推荐使用单引号'',效率高

    $newstr = strrev($str);

    echo '原字符串是:'.$str; // 'abc,def.'

    echo ' 翻转后的字符串是:'.$newstr; // '.fed,cba'

    echo '<br />';

    // 但是当有中文存在的时候,则出现了乱码

    $str = 'a这b是c子,符d串ef.';

    $newstr = strrev($str);

    echo '原字符串是:'.$str; // 'a这b是c子,符d串ef.'

    echo ' 翻转后的字符串是:'.$newstr; // 输出一串乱码

    echo '<br />';

    (2).中英文字符串反转

    echo "<meta charset = 'utf-8'>";

    function myStrrev($str,$encoding='utf-8'){

    $newstr = '';

    $len = mb_strlen($str);

    for($i=$len-1; $i>=0; $i--){

    $newstr .= mb_substr($str,$i,1,$encoding);

    }

    return $newstr;

    }

    $string = '相信women是正确的。';

    echo $string;

    echo '<br />';

    echo myStrrev($string); // '的。的确正是nemow信相'

    某集团PHP岗位笔试题 PHP大公司面试题集合 学PHP必知

    8.实现中文字符串截取无乱码的方法

    //$start:指定开始截取字符串的位置;$length指定截取字符的长度

    function substr2($string, $start, $length)

    {

    $len = strlen($string);

    if($len > $length)

    {

    $str = '';

    $len1 = $start + $length; //截取到原字符串的位置

    for($i=$start; $i<$len1; $i++)

    {

    if(ord(substr($string, $i, 2)) > 0xa0) //在ASCII中,0xa0表示汉字的开始

    {

    $str.=substr($string, $i, 2);

    $i++;

    }

    else

    {

    $str.=substr($string, $i, 1);

    }

    }

    return $str.'...';

    }

    else

    {

    return $string;

    }

    }

    9.如何用PHP的环境变量得到一个网页地址的内容?IP地址又要怎样得到?

    "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'] ;// 获取网页地址

    $_SERVER['REMOTE_ADDR'] //获取IP地址

    10.求两个日期的差数,例如2017-2-5~2017-3-6的日期差数

    $day=(strtotime('2017-2-5')-strtotime('2017-3-6'))/8600;

  • 相关阅读:
    Redis主从复制
    Centos6克隆虚拟机改IP和mac地址
    Liunx中ERROR 2002 (HY000) Can't connect to local MySQL server through socket 'varlibmysqlmysql.sock' (2)报错
    linux安装redis
    每天五分钟带你了解Redis
    sqiud --ACL控制应用、sarg日志分析、反向代理
    squid--透明代理
    Squid--传统代理
    Tomcat+Nginx实现动静分离
    -bash: nginx: 未找到命令/没有这个文件
  • 原文地址:https://www.cnblogs.com/du892294464/p/6876024.html
Copyright © 2020-2023  润新知