php 面试题分析

来源:互联网 发布:克里斯 洛克 知乎 编辑:程序博客网 时间:2024/05/17 06:09

逻辑算法考察

解题方法:

就像做数学题一样
找到要处理的数组或者字符串的规律,也可能是一个数列的规律,如果要求使用伪代码实现,建议先说明规律,然后白话说明解题步骤即可。

<?php//1,1,2,3,5,8,13...求第30位数是多少$arr = [1,1];for($i=2;$i<30;$i++){$arr[$i] = $arr[$i-1] + $arr[$i-2];}var_dump($arr);

//请写出一个函数,实现以下功能:字符串“open_door”,"make_by_id"转换成"OpenDoor","MakeById"function turn($a){$c = '';$b = explode("_",$a);foreach($b as $val){$c .= ucfirst($val);}return $c;}var_dump(turn("open_door"));var_dump(turn("make_by_id"));

模拟内置函数

//不使用php函数,用方法写一个反转字符串的函数//abcdefg->gfedcbafunction str_rev($str){for($i=0;true;$i++){if(!isset($str[$i])){break;}}$return = '';for($j=$i-1;$j>=0;$j--){$return .= $str[$j];}return $return;}echo str_rev('abcdefg');

//写一个函数,要求不使用array_merge完成多个数组的合并function merge(){$return  = [];$arrays = func_get_args();foreach($arrays as $arr){if(is_array($arr)){foreach($arr as $val){$return[] = $val;}}}return $return;}var_dump(merge([1],[2,3,4]));



原创粉丝点击