PHP面試題系列五 附答案

2021-05-22 03:16:56 字數 3148 閱讀 3894

一、基礎題

1. 寫出如下程式的輸出結果

$str1 = null;

$str2 = false;

echo $str1==$str2 ? '相等' : '不相等';

$str3 = '';

$str4 = 0;

echo $str3==$str4 ? '相等' : '不相等';

$str5 = 0;

$str6 = '0';

echo $str5===$str6 ? '相等' : '不相等';

?>

2. 寫出如下程式的輸出結果

$a1 = null;

$a2 = false;

$a3 = 0;

$a4 = '';

$a5 = '0';

$a6 = 'null';

$a7 = array();

$a8 = array(array());

echo empty($a1) ? 'true' : 'false';

echo empty($a2) ? 'true' : 'false';

echo empty($a3) ? 'true' : 'false';

echo empty($a4) ? 'true' : 'false';

echo empty($a5) ? 'true' : 'false';

echo empty($a6) ? 'true' : 'false';

echo empty($a7) ? 'true' : 'false';

echo empty($a8) ? 'true' : 'false';

?>

3. 寫出如下程式的輸出結果

$test = 'aaaaaa';

$abc = & $test;

unset($test);

echo $abc;

?>

4. 寫出如下程式的輸出結果

$count = 5;

get_count()

echo $count;

++$count;

echo get_count();

echo get_count();

?>

5. 寫出如下程式的輸出結果

$globals['var1'] = 5;

$var2 = 1;

get_()

get_();

echo $var1;

echo $var2;

?>

6. 寫出如下程式的輸出結果

get_arr($arr)

$arr1 = array(1, 2);

$arr2 = array(1, 2);

get_arr(&$arr1);

get_arr($arr2);

echo count($arr1);

echo count($arr2);

?>

7. 使用五種以上方式獲取乙個檔案的副檔名

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,

必須使用php自帶的處理函式進行處理,方法不能明顯重複,可以封裝成函式,比如 get_ext1($file_name), get_ext2($file_name)

二、演算法題

1. 使用php描述氣泡排序和快速排序演算法,物件可以是乙個陣列

2. 使用php描述順序查詢和二分查詢(也叫做折半查詢)演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列

3. 寫乙個二維陣列排序演算法函式,能夠具有通用性,可以呼叫php內建函式

答案(以下答案不一定是最好的,只是乙個簡單的參考)

一、基礎題

1. 相等 相等 不相等

2. true true true true true false true false

3. aaaaaa

4. 5 0 1

5. 5 2

6. 1 2

7. 使用五種以上方式獲取乙個檔案的副檔名

1)get_ext1($file_name)

2)get_ext2($file_name)

3)get_ext3($file_name)

4)get_ext4($file_name)

5)get_ext5($file_name)

二、演算法題

1. 使用php描述氣泡排序和快速排序演算法,物件可以是乙個陣列

//氣泡排序(陣列排序)

bubble_sort($array)}}

return $array;

}//快速排序(陣列排序)

quick_sort($array)

$left_arr = quick_sort($left_arr);

$right_arr = quick_sort($right_arr);

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

}2. 使用php描述順序查詢和二分查詢(也叫做折半查詢)演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列

//二分查詢(陣列裡查詢某個元素)

bin_sch($array, $low, $high, $k)

elseif ($k < $array[$mid])

else }

return -1;

} //順序查詢(陣列裡查詢某個元素)

seq_sch($array, $n, $k) }

if ($i<$n)

else }

3. 寫乙個二維陣列排序演算法函式,能夠具有通用性,可以呼叫php內建函式

//二維陣列排序, $arr是資料,$keys是排序的健值,$order是排序規則,1是公升序,0是降序

array_sort($arr, $keys, $order=0)

$keys = array();

foreach($arr as $key => $val)

if($order == 0)

else

reset($keys);

foreach($keys as $key => $vals)

$new_array = array();

foreach($keysort as $key => $val)

return $new_array;

}

PHP面試題(附答案)

1.在php中,當前指令碼的名稱 不包括路徑和查詢字串 記錄在預定義變數 1 中 而鏈結到當前頁面的的前一頁面url記錄在預定義變數 2 中 script name也可以 其它的見參考手冊 語言參考 變數 預定義變數 當前執行指令碼的絕對路徑名 d inetpub wwwroot php est.p...

php面試題(二)附答案

1.單引號和雙引號的用法 雙引號串中的內容可以被解釋而且替換,而單引號串中的內容總被認為是普通字元 2.web開發中的安全性問題 1.sql注入攻擊 2.資料庫操作安全,update delete insert的操作沒有限制使用者操作許可權,這將是一件很危險的事情。3.沒有驗證使用者http請求的方...

kafka面試題 附答案

1.什麼是kafka kafka是分布式發布 訂閱訊息系統,它最初是由linkedin公司開發的,之後成為apache專案的一部分,kafka是乙個分布式,可劃分的,冗餘備份的永續性的日誌服務,它主要用於處理流式資料。2.為什麼要使用 kafka?為什麼要使用訊息佇列?緩衝和削峰 上游資料時有突發流...