几道经典容易错的php面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几道经典容易错的php面试题相关的知识,希望对你有一定的参考价值。
1.这道题问是输出的结果是什么?
*在echo输出的字符串中如果含有函数,则优先输出
function test($a){ echo $a+10; } $b=10; echo "function($b)".test($b);// 输出的结果是20function(10)
2.这道题考了运算的的优先级 逻辑运算符的优先级要大于算数运算符
/* * 1.考了优先级,||左边是是3 所以的呢 $b=3;这一句是没有执行的,$a是一个布尔型true * 2.true布尔型++,输出的还是1 (false 的话输出的还是false) $b++ 输出的是1 *所以结果是是输出的1,1 * */ $c=flase; $a=0; $b=0; if($a=3||$b=3){ $a++; $b++; } echo $a.‘<br>‘; echo$b.‘<br>‘; echo $c++;
3.这道题考数组,字符串,文件目录的操作的函数,比较全面
题目:请写一个函数将 "/ a/b/c/d/e.php" 和文件 "a/b/12/34/f.php "的相对路径写出来
取得文件目录路径函数:dirname()
去除左右两边的“/”函数:trim()
将字符串转化为数组的函数:explor()
将数组转化为字符串的函数:implode()
重复输出一个字符串的函数:str_repreat()
<?php //用一个函数来输出$a $b的相对路径 $a=‘/a/b/c/d/e.php‘; $b=‘/a/b/12/34/f.php‘; function test($a,$b){ try{ //1.转化为数组 $a=explode(trim(dirname($a),"/"),‘/‘); $b=explode(trim(dirname($b),"/"),‘/‘); //2.去除相同的部分 for($i=0;$i<count($b);$i++){ if($a["$i"]==$b["$i"]){ unset($a["$i"]); unset($b["$i"]); } else{ break; } } //3.组合 return str_repeat(‘../‘,count($b)).implode(‘/‘,$a); }catch (ErrorException $e){ echo $e->getMessage(); } } echo test($a,$b);
4.怎么解决一个大流量大型网站的访问量问题?
答:横向扩展web服务器
以上是关于几道经典容易错的php面试题的主要内容,如果未能解决你的问题,请参考以下文章
测试一下25道Spring经典面试题你会几道?循环依赖面试详解