算法篇:
(1) 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
1. //对数组冒泡排序
2. function bubble_sort($array){
3. $count = count($array);
4. if ($count <= 0)
5. return false;
6. for($i=0; $i<$count; $i++){
7. for($j=$count-1; $j>$i; $j–){
8. if ($array[$j] < $array[$j-1]){
9. $tmp = $array[$j];
10. $array[$j] = $array[$j-1];
11. $array[$j-1] = $tmp;
12. }
13. }
14. }
15. return $array;
16. }
1. function quick_sort($array) {
2. if (count($array) <= 1) return $array;
3. $key = $array[0];
4. $left_arr = array();
5. $right_arr = array();
6. for ($i=1; $i<count($array); $i++){
7.
8. if ($array[$i] <= $key)
9.
10. $left_arr[] = $array[$i];
11. else
12. $right_arr[] = $array[$i];
13. }
14. $left_arr = quick_sort($left_arr);
15. $right_arr = quick_sort($right_arr);
16. return array_merge($left_arr, array($key), $right_arr);
17. }
(2)使用PHP描述顺序查找和二分查找算法,顺序查找必须考虑效率,对象可以是一个有序数组
1. //使用二分查找数组中某个元素
2. function bin_sch($array, $low, $high, $k){
3. if ($low <= $high){
4. $mid = intval(($low+$high)/2);
5. if ($array[$mid] == $k){
6. return $mid;
7. }elseif ($k < $array[$mid]){
8. return bin_sch($array, $low, $mid-1, $k);
9. }else{
10. return bin_sch($array, $mid+1, $high, $k);
11. }
12. }
13. return -1;
14. }
1. //顺序查找数组中某个元素
2. function seq_sch($array, $n, $k){
3. $array[$n] = $k;
4. for($i=0; $i<$n; $i++){
5. if($array[$i]==$k){
6. break;
7. }
8. }
9. if ($i<$n){
10. return $i;
11. }else{
12. return -1;
13. }
14. }
3. 写一个二维数组排序算法函数,可以调用php内置函数,能够具有通用性
1. function array_sort($arr, $keys, $order=0) {
2. if (!is_array($arr)) {
3. return false;
4. }
5. $keysvalue = array();
6. foreach($arr as $key => $val) {
7. $keysvalue[$key] = $val[$keys];
8. }
9. if($order == 0){
10. asort($keysvalue);
11. }else {
12. arsort($keysvalue);
13. }
14. reset($keysvalue);
15. foreach($keysvalue as $key => $vals) {
16. $keysort[$key] = $key;
17. }
18. $new_array = array();
19. foreach($keysort as $key => $val) {
20. $new_array[$key] = $arr[$val];
21. }
22. return $new_array;
23. }
上面这些php面试题都是关于算法的,也是通过本人在网络搜集的,有更好的解决方案可留言给我!
php学习视频下载网站:
PHP学习路线图
一、PHP初级:HTML+CSS+JavaScript
1、水晶石技法Photoshop商业网页设计
http://yunpan.cn/QDPqTEGLs77R8
2、水晶石技法Flash商业交互设计
http://yunpan.cn/QDPqdJasQx6Cq
3、网页色彩与版式
http://pan.baidu.com/share/link?shareid=1182562096&uk=3123925961
4、HTML+CSS从入门到精通
http://pan.baidu.com/share/link?shareid=2716185819&uk=3677553857
5、CSS+DIV网页样式与布局从入门到精通
http://yunpan.cn/QDYb5yhkRc9ks
6、CSS Web开发学习实录
http://pan.baidu.com/share/link?shareid=1738674039&uk=1362288048
7、CSS设计彻底研究
http://pan.baidu.com/share/link?shareid=2767400713&uk=3677553857
8、DIV+CSS网站布局与案例精粹
http://pan.baidu.com/share/link?shareid=2782051621&uk=3677553857
9、水晶石技法CSS+DIV商业网站设计
http://yunpan.cn/QDPBFsDJcwabD
10、JavaScript从入门到精通
http://yunpan.cn/QDqMBMUz7N4sN
11、网页开发手记486个JavaScript网页特效
http://pan.baidu.com/share/link?shareid=2836270084&uk=3677553857
12、《JQuery实战视频教程》
http://yunpan.cn/QDYb9NaEaQxds
13、jQuery开发从入门到精通
http://yunpan.cn/QDqbUZWmSpYdf
14、网站重构与Web标准设计
http://pan.baidu.com/share/link?shareid=1334698204&uk=1446246354
15、CSS资料、javascript资料
http://yunpan.cn/QDPBPsfu3iUF7
http://pan.baidu.com/share/link?shareid=2591205510&uk=1362288048
二、PHP中级:php核心编程和数据库的交互
1、PHP核心编程
(1)、LAMP兄弟连视频
http://www.verycd.com/topics/2843130/
(2)、PHP100
PHP开发实战权威指南
http://pan.baidu.com/share/link?shareid=1016158965&uk=3123925961
(3)、PHP标准教程
http://pan.baidu.com/share/link?shareid=829390529&uk=3123925961
(4)、PHP从入门到精通(第3版)
http://yunpan.cn/QDRCRYAAKJ7IQ
(5)、PHP经典实例 - 张涛
http://yunpan.cn/QDPMj72kfJJBM
2、MySQL数据库
http://pan.baidu.com/share/link?shareid=2583850771&uk=1362288048
3、项目
(1)、PHP开发典型模块大全
http://pan.baidu.com/share/link?shareid=834136585&uk=3123925961
(2)、PHP典型模块与项目实战大全
http://pan.baidu.com/share/link?shareid=819876888&uk=3123925961
三、PHP高级:框架的运用和网站的优化
1、ThinkPHP
http://www.thinkphp.cn/down/teach_video.html
ThinkPHP视频教程-李文凯
http://yunpan.cn/QDPvpp9YPA5Ae
2、Linux
(1)、著名讲师赵小明RHCE视频教程
http://down.51cto.com/zt/1797/3
http://pan.baidu.com/share/link?shareid=1530070851&uk=3039995849
http://pan.baidu.com/share/link?shareid=3757200294&uk=4029830851
(2)、yeslab-linux-rhce-LAB
http://pan.baidu.com/share/link?shareid=1541116315&uk=3039995849
(3)、誉天邹老师运维系列教程之Nginx网站架构实战视频
(4)、Linux下服务器架设视频教程
(5)、Red Hat Linux 培训视频服务器篇
(6)、Apache服务器配置与管理视频教程
(7)、Apache服务深入解析系列视频教程
(8)、Linux视频教程 - 李明
http://yunpan.cn/QDP8DpGGvjXs9
3、svn/uml
(1)、北京圣思园OOAD与UML教学视频
http://pan.baidu.com/share/link?shareid=155691011&uk=3526622669
(2)、西安电子科技大学《UML基础与应用》38讲
http://pan.baidu.com/share/link?shareid=3352873341&uk=4214465998
4、PHP特级课视频教程--李强强
http://yunpan.cn/QDPkjSZveV93f
5、NoSQL数据库之Redis数据库管理(李捷)
http://yunpan.cn/QDP5cq8fHKZdF
6、第九部分 BroPHP框架视频教程
http://yunpan.cn/QD6jfLCHBN662
7、Smarty3视频教程
http://yunpan.cn/QDMLqKiQCgNGA
8、Smarty2视频教程
http://yunpan.cn/QzsPCGyhYJQzc
四、面试与简历制作
(1)、PHP面试题
http://yunpan.cn/QDPBvpKq2zzIL
(2)、简历的制作+面试技巧
http://pan.baidu.com/share/link?shareid=504614&uk=3644217033&third=2
五、英语
1、IT精英职场英语口语
http://pan.baidu.com/share/link?shareid=427786&uk=439715611&third=15
2、影视情景英语口语
http://pan.baidu.com/share/link?shareid=1513465730&uk=3090319662
3、职场英语口语一定要速成(第二版)
http://pan.baidu.com/share/link?shareid=8282848&uk=3090319662
六、关注程序员健康问题
http://pan.baidu.com/share/link?shareid=425774&uk=1211444507&third=15
http://pan.baidu.com/share/link?shareid=3750441638&uk=1077052394
七、职业素养与团队合作
(1)、程序员自我修养+职业素养+团队合作
http://pan.baidu.com/share/link?shareid=504611&uk=3644217033&third=2
(2)、就业指导+职业规划
http://pan.baidu.com/share/link?shareid=504613&uk=3644217033&third=2
http://yunpan.cn/QDRC3tJkmBXgC