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()参数自定,方法可实现对两个私有属性进行修改。在实例化类的时候要求对私有属性能进行初始化。

  1. <?php
  2. classStu{
  3. private $name;
  4. private $sex;
  5. function __construct($name="",$sex=""){
  6. $this->name = $name;
  7. $this->sex = $sex;
  8. }
  9. functionSetName($name){
  10. $this->name = $name;
  11. }
  12. functionSetSex($sex){
  13. $this->sex = $sex;
  14. }
  15. }
  16. //实例化
  17. $A =newStu("小红","男");
  18. ?>

8. 写一个函数,算出两个文件的相对路径
如 $a = ‘/a/b/c/d/e.php’;
$b = ‘/a/b/12/34/c.php’;
计算出 $b 相对于 $a 的相对路径应该是 http://www.cnblogs.com/c/d将()添上

    1. <?php
    2. function getRelativePath($a,$b){
    3. $a_url = array(dirname($a));
    4. $b_url = array(dirname($b));
    5. $a_arr = explode('/',$a_url[0]);
    6. $b_arr = explode('/',$b_url[0]);
    7. $len = count($a_arr);
    8. $art1 ='';
    9. $art2 ='';
    10. for($i=1;$i<$len;$i++){
    11. if($a_arr[$i]<>$b_arr[$i]){
    12. $art1.='../';
    13. $art2.= $a_arr[$i].'/';
    14. }
    15. }
    16. return $art1.$art2;
    17. }
    18. $a ='/a/b/c/d/e.php';
    19. $b ='/a/b/12/34/c.php';
    20.  
    21. echo getRelativePath($a, $b);//http://www.cnblogs.com/c/d/
    22. ?>
原文地址:https://www.cnblogs.com/58top/p/2943031.html