2020年PHP 面试问题(一)
发布时间:2020-12-26 15:05:12 所属栏目:交互 来源:网络整理
导读:1.get,post 的区别 1、GET在浏览器回退时是无害的,而POST会再次提交请求。 2、GET产生的URL地址可以被Bookmark,而POST不可以。 3、GET请求会被浏览器主动cache,而POST不会,除非手动设置。 4、GET请求只能进行url编码,而POST支持多种编码方式。 5、GET请
5、给出一个字符串,返回里面连续字母的个数,比如:abbcddde,返回 1a2b1c3de; public function str($str) { $re = ''; $arr = str_split($str);//把字符串变成数组,开始我想到的是用for循环来处理,这个函数同事提醒了才发现 $key = 0; //key 用来记录下标,为了方便计算前面的数字 for ($i = 0; $i < count($arr); $i++) { $v = $arr[$i]; if ($arr[$i] == $arr[$i + 1]) { continue;//如果当前的值和下一个值相等,跳出当前循环,进入下一个 } else { $re .= ($i - $key + 1) . $v; //不相等时计算出前面的数字, $key = $i + 1;// 同时 key 下标重新复制 } } return $re; }
6、约瑟夫环问题,猴子选大王 一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。用程序模拟该过程。 unction mk($n,$m){ $arr = range(1,$n);//构造一个数组 $i = 1; //从第一个开始循环 while(count($arr)>1){ //如果总数大于1 ($i % $m != 0) && array_push($arr,$arr[$i-1]);//不被踢出则压入数组尾部 unset($arr[$i-1]);//压入数组然后删除 $i++;//继续循环 } return $arr[$i-1]; //直至最后剩下一个为大王 } print_r(mk(6,8)); //第3只为大王
更多学习内容请访问: 腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新) ? (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |