文章目錄
- 一、考點
- 二、解題方法
- 三、真題
-
-
- 1、不使用PHP函數,用方法寫一個反轉字元串的函數。
- 2、寫一個函數,要求不使用 array_merge 完成多個數組的合并。
-
一、考點
1、邏輯思維能力
2、對PHP内置函數的熟悉程度
3、字元串和數組的處理能力
二、解題方法
此類考點分為兩類:
1、一類是直接說明讓大家實作神呢沒有的操作;
2、一類是讓大家實作某種函數的功能。
是以,不僅需要大家具備一定的資料處理能力,還要熟悉 PHP内置函數的功能 是什麼,常見的處理主要是對字元串和數組的處理,是以建議大家多學習PHP字元串和數組的内置函數,嘗試模拟其功能,有助于提升邏輯思維和熟悉函數功能。
三、真題
1、不使用PHP函數,用方法寫一個反轉字元串的函數。
// abcdefg -> gfedcba
// 将字元串看做數組來處理 [a,b,c,d,e,f,g]
function 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'); // 調用函數
運作結果:
2、寫一個函數,要求不使用 array_merge 完成多個數組的合并。
/*
* 多個數組的合并
* array_mer($arr1, $arr2, $arr3, ..., $arrn)
* 1、傳遞幾個數組;
* 2、接收到所有的數組,周遊每一個參數(即每個參數都是一個數組,即周遊每個數組);
* 3、取中間的一個添加進去即可
*/
function array_mer()
{
$return = [];
// 動态擷取傳遞進來的所有參數
$arrays = func_get_args();
// 周遊每一個參數(即數組)
foreach ($arrays as $arr) {
// 判斷是否為數組,如果是,則繼續循環
if (is_array($arr)) {
foreach ($arr as $val) {
$return[] = $val;
}
}
}
return $return;
}
var_dump(array_mer([1], [2,3], [4,5]));
運作結果: