PHP面試中常見的面試試題與演算法例子

2021-07-05 02:55:34 字數 1904 閱讀 5104

下面是四道比較常見的題目,主要考察的是對字串函式以及檔案操作相關函式的掌握程度。

1、php翻轉中文字串

**如下

複製**

function reverse($str)

return implode(array_reverse($r));

}echo reverse('www.111cn.net天涯php部落格');

//結果:'客博php涯天moc.ahphp.wwww'

2、php計算url的檔案字尾名

**如下

複製**

function getext($url)

echo getext(' ');

//結果:'html'

3、php計算兩個檔案的相對路徑

**如下

複製**

function getrpath($path, $conpath)else}}

closedir($handle);}}

return $files;

}print_r(finddir('f:/golang/src'));

//結果:

array

([0] => f:/golang/src/hello.go

[1] => f:/golang/src/src.exe

[test] => array

([0] => f:/golang/src/test/sss.txt))

除了這些字串、檔案操作的基本函式考察外,基礎演算法也是面試中考察比較多的,具體請看以前總結的關於php基礎演算法的文章

下面分享一些最常見的演算法,用php如何實現。

1、氣泡排序

**如下

複製**

function bubble_sort($arr) }}

return $arr;

}2、歸併排序

**如下

複製**

function merge(&$arr, $left, $mid, $right)

while ($i <= $mid)

$temp[$k++] = $arr[$i++];

while ($j <= $right)

$temp[$k++] = $arr[$j++];

for ($i = $left, $j = 0; $i <= $right; $i++, $j++)

$arr[$i] = $temp[$j];

}function mergesort(&$arr, $left, $right)

}3、二分查詢-遞迴

**如下

複製**

function bin_search($arr,$low,$high,$value)

}4、二分查詢-非遞迴

**如下

複製**

function bin_search($arr,$low,$high,$value)

return false;}

5、快速排序

**如下

複製**

function quick_sort($arr)

$left_arr=quick_sort($left_arr);

$right_arr=quick_sort($right_arr);

return array_merge($left_arr,array($key),$right_arr);

}6、選擇排序

**如下

複製**

function select_sort($arr)

if($k!=$i)

}return $arr;

}7、插入排序

**如下

複製**

function insertsort($arr)

}return $arr;

}

多型中常見的面試題

1.什麼是多型?多型就是面對同一函式,用不同的物件去呼叫,會產生不同的結果 2.什麼是過載 重寫 覆蓋 重定義 隱藏 過載 當兩個函式同名,引數不同,且再同乙個作用域內,就叫做過載 重寫 當兩個函式同名,引數相同,返回值相同 這裡有個特例,協變例外 且在不同作用域,都是虛函式,叫做重寫 重定義 繼承...

華為的面試試題

華為的面試試題比較專業,都是一些專業知道。華為的面試試題比較專業,都是一些專業知道。q1 請你分別划划osi的七層網路結構圖,和tcp ip的五層結構圖?q2 請你詳細的解釋一下ip協議的定義,在哪個層上面,主要有什麼作用?tcp與udp呢?q3 請問交換機和路由器分別的實現原理是什麼?分別在哪個層...

ssh中常見的筆試面試題

ssh中常見的筆試面試題 2,如果採用重定向的方式,而重定向後頁面轉向的是乙個action,那麼type中的屬性值應寫為 type redirectaction 3,struts2中解決中文亂碼的關鍵配置是 4,struts default 5,在struts2中,對於客戶端請求引數的獲取通常使用兩...