当前位置: 首页 > 后端技术 > Python

PHP的一些编程基础题

时间:2023-03-26 01:12:31 Python

前言整理了一些PHP的编程基础题。经常做这样的题,可以巩固基础,锻炼逻辑思维能力。它也可以用于书面面试。这些题笔者在笔试中都遇到过。至于为什么面试官会问这样的问题,我觉得主要是考察你这几个方面的能力:1、PHP基础是否扎实;2.是否可以使用文本编辑器编写代码;3、命名是否规范,代码逻辑和书写风格是否合意;4、面对问题和解决问题的能力;...编程题1、获取img图片路径$str="";$match="/1.jpg[1]=>2.jpg)2、输出星级倒三角$num=5;//最大星级数$begin=$end=array();$star='*';$brank='';for($a=0;$a<$num;$a++){$begin[$a]=$star;$star.='*';}rsort($begin);for($b=0;$b'*****',1=>'*****',2=>'***',3=>'**',4=>'*',)3.计算$b相对于$a的相位路径$a='/a/b/c/d/a.php';$b='/a/b/12/34/c.php';$a=爆炸('/',$a);$b=爆炸('/',$b);$路径='';//将删除路径a的文件名array_pop($a);//获取$a,$b数组中的重复值$ab=array_merge($a,$b);$c=array_filter(array_diff_assoc($ab,array_unique($ab)));//重置b数组的索引$d=array_values(array_diff($b,$a));//将路径a中的目录替换为..foreach($cas&$v)$v='..';//合并两个数组$e=array_merge($c,$d);//拼接路径foreach($eas&$v)$path.=$v.'/';$path=rtrim($path,'/');变量导出($路径);输出结果:'../../12/34/c.php'4、2的1000次方计算逻辑$total=2;for($i=2;$i<=1000;$i++){$total=$total*2;}$total=number_format($total,0,'','');print_r($total);输出结果:1071508607186267320948425049060001810561404811...5.写入程序执行的结果$x=5;echo++$x;//6echo'
';echo$x+++++$x;//6+8=14//++后不参与运算不加1,++参与运算前加1;echo'
';echo$x--+--$x;//8+6=14//after--不参与运算不减1,before--参与运算并减去1;echo'
';echo$x;//6输出结果:6141466获取url中的文件扩展名,需要提取php或者.php$url='http://www.ceshi.com/osfipin/osfipin.php?id=1';$arr=explode('.',explode('?',$url)[0]);echoend($arr);//php//echo'
';//echokey($arr);//获取最后一个元素'3'的键值输出//echo'
';//echocurrent($arr);//http://www//echo'
';//echonext($arr);//ceshi//echo'
';//回显上一个($arr);//http://wwwoutputresult:php7,自定义千位分隔符函数functionnumberFormat($x){//得到被分割数的总长度$len=strlen($x);$j=0;$val1=$val2='';//从千位开始循环for($i=3;$i<=$len;$i++){//如果能被3整除,就从这个位置反向截取3个字符if($i%3==0){//截取字符,拼接前面的“,”$val1=','.substr($x,'-'.$i,3);//将新截取的字符拼接在原来截取字符的前面$val2=$val1.$val2;//记录最后一个能被3整除的位置$j=$i;}}//从被除数的总长度中减去最后一个能被3整除的位置作为长度,字符串从0开始截取,剩下的不够千位分隔符的数//然后拼接在已经被千位隔开的数字$val2前面,//然后去掉左边多余的“,”$val3=substr($x,0,$len-$j);如果($val3)$val2=$val3.$val2;$val2=ltrim($val2,',');返回$val2;}$x=1234567890;//要拆分的数字$x=numberFormat($x);//调用自定义拆分函数print_r($x);输出结果:1,234,567,8908,自定义函数,可以多次使用在重复调用的情况下,输出ABC的比例为5:3:1functionabc(){echo'AAAAA';回声'BBB';echo'C';}for($i=0;$i<2;$i++){abc();}输出结果:AAAABBBCAAAAABBBBC分析总结以上问题只是我给出的一个答案,可能还有很多解决问题的方法。如果有其他想法,可以在留言区留言并附上题号、解题思路和代码,无语言限制