当前位置:首页 > 技术文章 > 正文内容

PHP基础面试题 – 第九天

arlanguage2个月前 (03-20)技术文章16

1、我们知道__autoload可以实现类的自动载入,如何把一个类splDemo的方法__autoload注册成为一个__autoload(关键词:spl)

abstract class splDemo {

function __autoload($class){

// ....

}

}

2、下面可以捕获异常吗?如何实现捕获。(关键词:set_error_handler ErrorExcpetion)

try {

//读取不存在的文件

file_get_contents('/home/not-exists.file');

} catch (Exception $e){

echo $e->getMessage();

}

3、根据span value的值,排序li,可以使用jQuery





<script>

$(function(){

var arr=[];

$('span').each(function(i){

arr[arr.length]=$(this).attr('value')+'-'+$(this).html();

});

//倒叙排序

/*function paixu(num1,num2){

if(num1>num2){

return -1;

}else if(num1==num2){

return 0;

}else{

return 1;

}

}

arr.sort(paixu);*/

arr.sort();

$('li').remove();

for(var i=0;i<arr.length;i++){//字符串切割-

$('ul').append('

  • '+arr[i].substr(arr[i].indexOf('-',2))+'
  • ');


    }

    });

    </script>

    4、分别读取div节点attr属性值

    1)

    // 输出abcd

    2)

    ”>
    // 输出abcd”>

    答案:alert($(“div:eq(1)”).attr(“attr”));

    5、尽可能多地写出php处理字符串函数,并写出他们对应的作用。

    Strops() 返回某个字符串在一字符串中首先出现的位置

    Strstr()返回一个字符串在另一个字符串中的第一次出现

    Substr()截取字符串

    Str_replace()字符串替换操作,区分大小写

    trim() 删除字符串两端的空格或其他预定义字符

    str_pad() 把字符串填充为指定的长度

    str_repeat() 重复使用指定字符串

    str_split() 把字符串分割到数组中

    strrev() 反转字符串

    str_shuffle() 随机地打乱字符串中所有字符

    number_format() 通过千位分组来格式化数字

    strtolower() 字符串转为小写

    strtoupper() 字符串转为大写

    strcasecmp() 不区分大小写比较两字符串

    6、语句include和require的区别是什么?为避免多次包含同意文件,可用?语句来代替他们?

    Include在包含文件时若出错,仅报出一条错误信息,代码继续执行

    Require在包含文件时若出错,报出错误信息的同时代码将不会往下执行

    避免多次包含同一文件,可用include_once或者require_once语句来代替他们

    (1)include()在执行文件时每次都要进行读取和评估;require()文件只处理一次(实际上文件内容替换了require()语句)

    (2)require()通常放在PHP脚本程序的最前面include()的使用和require()一样,一般放在流程控制的处理区段中,PHP脚本文件读到include()语句时,才将它包含的文件读进来,这种方式,可以把程序执行时的流程简单化

    (3)require()和include()语句是语言结构,不是真正的函数,可以像PHP的其他语言结构一样

    (4)require()包含文件失败,停止执行,给出错误(致命的);

    (5)include()常用于动态包含.通常是自动加载的文件,即使加载出错,整个程序还是继续执行一个页面声明,另一个页面调用包函文件失败,继续向下执行,返回一条警告

    (6)include_once()和require_once()语句也是在脚本执行期间包括并运行指定文件,与include()require()唯一的区别是如果文件中的代码已经被包括了,则不会再次包括.

    7、使用PHP写一段简单SQL语句实现增删改查

    主机ip:192.168.1.222
    数据库用户名:root
    数据库密码:admin123
    表名User
    name tel content date
    张三 13333663366 大专毕业 2006-10-11
    张三 13612312331 本科毕业 2006-10-15
    张四 021-55665566 中专毕业 2006-10-15

    答案:

    a、 连接数据库,向user表增加一行数据。

    姓名:刘五,电话:18811002233,学历:本科,日期:当下日期
    Insert into User (name,tel,content,date)values(‘刘五’,’ 18811002233’,’本科’,time())

    b、 删除姓名为里斯的用户所有信息。

    Delete from user where name=”里斯”

    c、 更新手机号码为1333663366用户的学历为“本科”

    Update user set ‘content’=’本科’where tel=‘1333663366’

    d、 查处所有姓名为“张三”的内容并打印出来。

    $mysql_db=mysql_connect(“local”,”root”,”pass”);
    @mysql_select_db(“DB”,$mysql_db);
    $result = mysql_query(“SELECT * FROM `user` WHERE name=’张三'”);
    while($rs = mysql_fetch_array($result)){
    echo $rs[“tel”].$rs[“content”].$rs[“date”];
    }

    8、如何修改SESSION的生存时间。

    方法一:修改php.ini的session_gc_maxlefttime=9999;

    方法二:$savePath = “./session_save_dir/”;
    $lifeTime = 小时 * 秒;
    session_save_path($savePath);
    session_set_cookie_params($lifeTime);
    session_start();

    方法三:setcookie() and session_set_cookie_params($lifeTime);

    9、用PHP写出显示客户端IP与服务器IP的代码

    答:打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’];

    打印服务器IP: echo $_SERVER[‘SERVER_ADDR’];

    扫描二维码推送至手机访问。

    版权声明:本文由AR编程网发布,如需转载请注明出处。

    本文链接:http://www.arlanguage.com/post/3451.html

    分享给朋友:

    “PHP基础面试题 – 第九天” 的相关文章

    Linux下各种连接数配置及高并发Nginx优化

    前言在性能测试过程中,经常会接触到链接数相关的问题,那就是一台服务器最多能支持多少链接数呢?有的朋友可能会说是65535,因为操作系统有65535个端口,那么这个答案准确吗?首先先了解下如何标识一个链接,操作系统是通过一个四元组来标识一个TCP链接:{本地ip,本地port,远程ip,远程port}...

    安装Code-server并配置用于多用户的反向代理(Nginx)

    1.安装code-servercode-server的项目网址在cdr/code-server.在code-server的README中, 提供了两份部署指南, 一份是用于部署在AWS等云服务的deploy, 另一份则是我们要用的用于部署在本地的quickstart.Guide非常简洁明了, 就三步...

    我采访了一位 Pornhub 工程师,聊了这些纯纯的话题

    成人网站在推动 Web 发展方面所起到的作用无可辩驳。从突破浏览器的视频能力限制,到利用 WebSocket 推送广告(防止被广告拦截器拦截),你必须不断想出各种聪明的办法,让自己处在 Web 技术创新的最前沿。最近,我有幸采访了大型成人网站 Pornhub 的一位 Web 开发工程师,了解了相关的...

    Nginx实战-监控nginx.conf配置文件,配置文件修改自动重启nginx

    1.1 实现目标在学习或者进行nginx测试的时候,耗费在 nginx -s reload/stop 上的命令时间很多,修改任意内容都需要重新启动或者停止启动,基本上状态就是在下面5个状态间来回切换vim nginx.conf修改nginx.conf保存nginx.conf重启nginx刷新浏览器....

    轻量级日志平台 Loki 2.3 发布:15 倍最近数据查询速度提升

    一、前言Loki v2.3.0 中添加了出色的新功能,进行了 bug 修复。除此之外,性能也得到了提升。二、自定义保留规则Loki 中的保留对于集群来说一直是全局的,并推迟到底层对象存储。Loki 现在可以通过 Compactor 组件处理保留。 你可以配置每个租户和每个流的保留时间。 这些不同的保...

    SeaTunnel 实践 | SeaTunnel 帮你快速玩转 Spark 数据处理

    Databricks 开源的 Apache Spark 对于分布式数据处理来说是一个伟大的进步。我们在使用 Spark 时发现了很多可圈可点之处,我们在此与大家分享一下我们在简化 Spark 使用和编程以及加快 Spark 在生产环境落地上做的一些努力。01一个 Spark Streaming 读取...