php面试题(三)
2016-11-01 15:23
204 查看
一、填空题 1.PHP是用什么语言编写的 基于c语言的 2.目前PHP的最高版本是 php 5.5版本 3. LAMP的全称是 Linux+Apache+Mysql+Perl/PHP/Python 4. PHP的三种注释方式 (1) <?php echo "www.phpddt.com"; //单行注释 ?> (2) <?php /* 多行注释 */ echo "www.phpddt.com"; ?> (3) <?php /* *块状注释 */ echo "www.phpddt.com"; ?> 5. PHP使用什么符号定义变量 $ 二、简答题 1. 请列出PHP的8种数据类型。 四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: array (数组) object (对象) 最后是两种特殊类型: resource (资源) NULL (NULL) 2.PHP中有几种形式装载代码,并列举,以包含同目录下的Config.php文件为例? require('Config.php'); include('Config.php'); require_once('Config.php'); include_once('Config.php'); require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。 include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。 他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。 require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。 如同include_once(),require_once()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。 3. PHP中===表示什么意思? 值和数据类型都相同 4.PHP对象中可以使用哪几种访问修饰符,默认修饰符是什么? public protected private 三、设计题 1.$m = “ MY name IS PHP ” 编程实现将$m中字符串前后的空格以及中间的空格去掉,并全部转换成小写字母,最后输出$m和$m中字母的个数? 1. <?php 2. $m = " MY name IS PHP "; 3. $m = str_replace(" ","",$m); 4. $m = strtolower($m); 5. echo $m; 6. echo strlen($m); 7. ?> 2. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名 例如: http://www.phpddt.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php 1. <?php 2. $url = 'http://www.phpddt.com.cn/abc/de/fg.php?id=1'; 3. function getExt($url){ 4. $parse_url = parse_url($url); 5. $path = $parse_url['path']; 6. $pos = strrpos($path,'.'); 7. return !$path || !$pos ? NULL : substr($path,$pos); 8. } 9. echo getExt($url); 10. ?> $parse_url的值; array 'scheme' => string 'http' (length=4) 'host' => string 'www.phpddt.com.cn' (length=17) 'path' => string '/abc/de/fg.php' (length=14) 'query' => string 'id=1' (length=4) 3.$m = “woxihuanphp”,编程实现:将字符串分割为单个字符存放到一个数组中,并打印数组? 1. <?php 2. $str= "abcd"; 3. for($i=0;$i <strlen($str);$i++){ 4. $array[]=substr($str,$i,1); 5. } 6. print_r($array); 7. ?> 4. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须? echo<<< EOT开始到"EOT;"结束 5.用类编程实现:Stu类中有两个私有属性,name和sex ,有两个公有方法,SetName()和SetSex()参数自定,方法可实现对两个私有属性进行修改。在实例化类的时候要求对私有属性能进行初始化。 1. <?php 2. class Stu{ 3. private $name; 4. private $sex; 5. function __construct($name="",$sex=""){ 6. $this->name = $name; 7. $this->sex = $sex; 8. } 9. function SetName($name){ 10. $this->name = $name; 11. } 12. function SetSex($sex){ 13. $this->sex = $sex; 14. } 15. } 16. //实例化 17. $A = new Stu("小红","男"); 18. ?>