php面试题(三)
注意:这是一篇比较基础的php面试题的
一、填空题
1.PHP是用什么语言编写的
基于c语言的
2.目前PHP的最高版本是
php 5.4版本
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');
3. PHP中===表示什么意思?
值和数据类型都相同
4.PHP对象中可以使用哪几种访问修饰符,默认修饰符是什么?
public protected private
三、设计题
1.$I=2,编程实现判断$I是否为整型,是则输出$I,不是则输出“非整型变量”?
太简单了,不想写。。。
2.$m = “ MY name IS PHP ” 编程实现将$m中字符串前后的空格以及中间的空格去掉,并全部转换成小写字母,最后输出$m和$m中字母的个数?
<?php $m = " MY name IS PHP "; $m = str_replace(" ","",$m); $m = strtolower($m); echo $m; echo strlen($m);?>
3. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.phpddt.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
<?php $url = 'http://www.phpddt.com.cn/abc/de/fg.ph?id=1'; function getExt($url){ $parse_url = parse_url($url); $path = $parse_url['path']; $pos = strrpos($path,'.'); return !$path || !$pos ? NULL : substr($path,$pos);} echo getExt($url);?>
4.$m = “woxihuanphp”,编程实现:将字符串分割为单个字符存放到一个数组中,并打印数组?
<?php $str= "abcd"; for($i=0;$i <strlen($str);$i++) { $array[]=substr($str,$i,1); } print_r($array); ?>
5.$username = “4a_c4_5”,编程实现:检查$username是否符合需求,用户名以字母或下划线开头,只能是字母数字下划线组成?
6. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?
echo<<< EOT开始到"EOT;"结束
7.用类编程实现:Stu类中有两个私有属性,name和sex ,有两个公有方法,SetName()和SetSex()参数自定,方法可实现对两个私有属性进行修改。在实例化类的时候要求对私有属性能进行初始化。
- <?php
- classStu{
- private $name;
- private $sex;
- function __construct($name="",$sex=""){
- $this->name = $name;
- $this->sex = $sex;
- }
- functionSetName($name){
- $this->name = $name;
- }
- functionSetSex($sex){
- $this->sex = $sex;
- }
- }
- //实例化
- $A =newStu("小红","男");
- ?>
8. 写一个函数,算出两个文件的相对路径
如 $a = ‘/a/b/c/d/e.php’;
$b = ‘/a/b/12/34/c.php’;
计算出 $b 相对于 $a 的相对路径应该是 http://www.cnblogs.com/c/d将()添上
- <?php
- function getRelativePath($a,$b){
- $a_url = array(dirname($a));
- $b_url = array(dirname($b));
- $a_arr = explode('/',$a_url[0]);
- $b_arr = explode('/',$b_url[0]);
- $len = count($a_arr);
- $art1 ='';
- $art2 ='';
- for($i=1;$i<$len;$i++){
- if($a_arr[$i]<>$b_arr[$i]){
- $art1.='../';
- $art2.= $a_arr[$i].'/';
- }
- }
- return $art1.$art2;
- }
- $a ='/a/b/c/d/e.php';
- $b ='/a/b/12/34/c.php';
- echo getRelativePath($a, $b);//http://www.cnblogs.com/c/d/
- ?>