热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP技术人员-口试总结PHP篇

PHP技术人员--面试总结PHP篇1、实现中文字符串截取无乱码方法开启mbstring扩展,然后自定义函数:<?phpheader('content-Type:text/html:charset=utf-8');functionsubstr_utf8($str,$start,$length
PHP技术人员--面试总结PHP篇
1、实现中文字符串截取无乱码方法
开启mbstring扩展,然后自定义函数:




2、用PHP打印前一天的时间





3、不适用第三个变量交换2个变量的&#20540;





4、将1234567890,转换成1,234,567,890


header('content-Type:text/html:charset=utf-8');
$str = '1234567890';
//反转字符串
$str = strrev($str);
//使用逗号分隔得到098,765,432,1,
$str = chunk_split($str,3,',');
//再次反转
$str = strrev($str);
//去掉左边的,
$str = ltrim($str,',');
echo $str;


5、实现utf8字符串反转
不能使用strrev,中文会出错


function strrev_utf8($str){
return join("",array_reverse(preg_split("//u",$str)));
}
$str = "我是一个good男孩";
echo strrev_utf8($str);
6、取url的文件扩展名,尽量多的去实现方法
$str = "www.baidu.com/index.php";
function get_ext1($str){
return strrchr($str,'.');
}
function get_ext2($str){
return substr($str,strrpos($str,'.'));
}
function get_ext3($str){
$str = pathinfo($str);
return $str['extension'];
}
function get_ext4($str){
$arr = explode('.',$str);
return $arr[count($arr)-1];
}
function get_ext5($str){
$pattern = '/^[^\.]&#43;\.([\w]&#43;)$/';
return preg_replace($pattern,'${1}',basename($str));
}


7、写一个函数,将字符串open_door转换为OpenDoor


$str = "open_door";
function change_str($str){
$arr = explode('_',$str);
$arr = array_map('ucfirst',$arr);
return implode('',$arr);
}
echo change_str($str);


8、单例模式





10、从一个完成的url获取文件扩展名





11、写一个函数可以便利一个文件夹下的所有文件和子文件夹



12、论坛中无限分类实现原理
首先设计数据库表


create table category(
cate_id int unsigned not null auto_increment primary key,
cat_name varchar(30) not null default '',
parent_id int unsigned not null default 0
) engine=innodb charset=utf8;
然后用函数去递归实现,无限分类
function tree($arr,$pid=0,$level=0){
static $list = array();
foreach($arr as $v){
//如果是顶级分类,则存入$list
//然后以此节点为根几点,遍历其子节点
if($v['parent_id'] == $pid){
$v['level'] = $level;
$list[] = $v;
tree($arr,$v['cat_id'],$level&#43;1);
}
}
return $list;
}


13、计算2个文件的相对路径
 1){
$i &#43;= 1;
$head = array_shift($monkey);//一个个出列最前面的
if( $i % $m != 0){
//如果不是m的倍数,则返回尾部,否则就出列了
array_push($monkey,$head);
}
}
return $monkey[0];
}
echo king(10,7);


15、PHP实现双向队列
queue,$item);
}
public function addLast($item){
return array_push($this->queue,$item);
}
public function getFirst(){
return array_shift($this->queue);
}
public function getLast(){
return array_pop($this->queue);
}
} 

希望本文对广大php开发者有所帮助,感谢阅读本文。

推荐阅读
author-avatar
多多之爱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有