一些不为人知的php试题(暂时就总结这些!后续会一直增加 大家觉得不全的请评论或者留言)

本文介绍了PHP的基础使用方法,包括日期处理、打印技术、GET与POST的区别等,并深入探讨了PHP模板引擎、文件系统操作、数据库优化及高流量网站解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、用PHP打印出前一天的时间格式


$a = date("Y-m-d H:i:s", strtotime("-1 day"));
print_r($a);

2、简单的php打印技术(不喜勿喷!!嘿嘿)


echo(),print(),print_r()的区别(3分)
echo 和print不是一个函数,是一个语言结构
int print(string $arg), 只有一个参数
echo arg1,arg2; 可以输出多个参数,返回void
echo和print只能打印出string,不能打印出结构
print_r能打印出结构

3、请用最简单的语言告诉我PHP是什么?(大家还记得吗 ?)


PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言。

4、请问GET和POST方法有什么区别?(总结是个人的理解大家觉得有不全的请留言)


我们再网页上填写的表单信息都可以通过这两个方法将数据传递到服务器上,当我们使用GET方法是,所有的信息都会出现在URL地址中,并且使用GET方法最多只能传递1024个字符,所以如果在传输量小或者安全性不那么重要的情况下可以使用GET方法。说到POST方法,最多可以传输2MB字节的数据,而且可以根据需要调节。还有一点大家应该都知道get传输不安全会显示在URL地址中,然而post一般的用户的找不见哦!!!!

4、 能够使HTML和PHP分离开使用的模板引擎


PHP模板引擎是PHP面试题里面必考的一些知识点,总的来说,了解smarty可以应付这类的问题。当然对实际应用的来说,大量使用正则的PHP模板引擎会提高后他开发和前端开发的效率,但是肯定会牺牲首次加载的效率。我有个朋友在一些大的企业上班要求效率的情况下,都用混编来写。

**5、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。


<?php function my_scandir($dir) { $files=array(); if(is_dir($dir)) { if($handle=opendir($dir)) { while(($file=readdir($handle))!==false) { if($file!="."&& $file!="..") { if(is_dir($dir."/".$file)) { $files[$file]=my_scandir($dir."/".$file); } else { $files[]=$dir."/".$file; } } } closedir($handle); return $files; } } } echo "<pre>"; print_r(my_scandir("D:\DouJia-3.5")); ?>  

6、一些常见的小问题


6.1 使用哪些工具进行版本控制?

CVS和SVN [ subversion ]

*6.2优化MYSQL数据库的方法。

(1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

(2).使用连接(JOIN)来代替子查询(Sub-Queries)

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

(4).尽量少使用 LIKE 关键字和通配符

(5).使用事务和外键

6.3 PHP的意思

PHP 是一种服务器端的,嵌入HTML的脚本语言。

英文“超级文本预处理语言”(Hypertext Preprocessor)的缩写

6.4 对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)

首先,确认服务器硬件是否足够支持当前的流量

其次,优化数据库访问。

第三,禁止外部的盗链。

第四,控制大文件的下载。

第五,使用不同主机分流主要流量

第六,使用流量分析统计软件。

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

客户端IP: echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');

服务器IP:

<?php 

$serverIP=gethostbynamel("webpro01"); 

echo   "Server IP Address:<ol   type=1>"; 

for   ($i=0;   $i<count($serverIP);   $i++)   { 

      echo   "<li>".$netscapeftp[$i]; 

} 

echo   "</ol>"; 

?>    

6.6 有一个网页地址, 比如PHP开发资源网主页: http://www.baidu.com/index.html,如何得到它的内容?

<?php

$handle = fopen("http://www.baidu.com/index.html", "rb");

$contents = stream_get_contents($handle);

fclose($handle);

echo $contents;

?>

最简单的方法是调用函数:

<?php

print file_get_contents('http://www.baidu.com/index.html');

?>

6.7请说明php中传值与传引用的区别。什么时候传值什么时候传引用?

Call by value (传值):指从主程序将变量内容传递给函数的参数,无论在函数内如何修改、变化该参数值,都不影响主程序原本变量的内容,即使变量名称相同。

调用方式:函数名(参数1,参数2);

Call by address (传引用):指从主程序将变量地址传递给函数的参数,在函数内若修改、变化该参数值,会修改主程序原本变量的内容,即主程序与函数存取的是同一变量。

调用方式:函数名(&参数1,&参数2);

按值传递:函数范围内对值的任何改变在函数外部都会被忽略

按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改

优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

按引用传递则不需要复制值,对于性能提高很有好处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值