PHP基础面试题 – 第九天
liebian365 2024-11-20 18:24 24 浏览 0 评论
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
<ul>
<li><span value=”3″>三</span></li>
<li><span value=”1″>一</span></li>
<li><span value=”2″>二</span></li>
</ul>
<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('<li><span value="'+arr[i]+'">'+arr[i].substr(arr[i].indexOf('-',2))+'</span></li>');
}
});
</script>
4、分别读取div节点attr属性值
1) <div attr = “abcd” ></div> // 输出abcd
2) <div attr=”abcd\”>”></div> // 输出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’];
相关推荐
- “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选
-
明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...
- VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"
-
首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...
- 东营交警实名曝光一批酒驾人员名单 88人受处罚
-
齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...
- Qt界面——搭配QCustomPlot(qt platform)
-
这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...
- 大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写
-
老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...
- 测试谷歌VS Code AI 编程插件 Gemini Code Assist
-
用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...
- 顾爷想知道第4.5期 国服便利性到底需优化啥?
-
前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...
- 掌握Visual Studio项目配置【基础篇】
-
1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...
- 还嫌LED驱动设计套路深?那就来看看这篇文章吧
-
随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...
- Visual Studio Community 2022(VS2022)安装图文方法
-
直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...
- Qt添加MSVC构建套件的方法(qt添加c++11)
-
前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...
- Qt为什么站稳c++GUI的top1(qt c)
-
为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...
- qt开发IDE应该选择VS还是qt creator
-
如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...
- Qt 5.14.2超详细安装教程,不会来打我
-
Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...
- Cygwin配置与使用(四)——VI字体和颜色的配置
-
简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选
- VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"
- 东营交警实名曝光一批酒驾人员名单 88人受处罚
- Qt界面——搭配QCustomPlot(qt platform)
- 大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写
- 测试谷歌VS Code AI 编程插件 Gemini Code Assist
- 顾爷想知道第4.5期 国服便利性到底需优化啥?
- 掌握Visual Studio项目配置【基础篇】
- 还嫌LED驱动设计套路深?那就来看看这篇文章吧
- Visual Studio Community 2022(VS2022)安装图文方法
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)