強化基礎PHP試題(一)

2021-05-23 09:09:50 字數 3573 閱讀 2588

近來為了公司內部專案要學習php,今天是我接觸php的第3天~

用試題把關鍵知識強化一下~

1、在php中,當前指令碼的名稱(不包括路徑和查詢字串)記錄在預定義變數[①]中;而鏈結 到當前頁面的url記錄在預定義變數[②]中 [1]$_server['php_self'] [2]$_server["http_referer"]

2、陣列函式 arsort 的作用是[①];語句 error_reporting(2047)的作用是[②]

[1]對陣列進行逆向排序並保持索引關係 [2]all errors and warnings

4、乙個函式的引數不能是對變數的引用,除非在php.ini中把[①]設為on

[1]allow_call_time_pass_reference

5、在php中,heredoc是一種特殊的字串,它的結束標誌必須[①]

結束識別符號所在的行不能包含任何其它字元除";"

6、寫出下列**的結果

: <?php $a="hello world!"; $b=$a; print("/$b=$b

"); print('$a=$a

'); ?>

$b=hello world!

$a=$a

7、寫出下列**輸出結果

: <?php $a="first"; $b=&$a; $c=$a; $a="second"; print("$a,$b,$c

"); ?>

second,second,first 8

、寫出下列**輸出結果

: <?php $a=2; $b="1.2sbc3"; $c="efg"; $result1=$a.$b; $result2=$a*$b; $result3=$a*$c; print("$result1,$result2,$result3

"); ?>

21.2sbc3,2.4,0

9、找出下列**中的錯誤並修正

: <?php $a[0]=""ryan; $b["value"]=785.9; $c["blue"][0]="ada"; print("$a[0],$b["value"],$c["blue"][0]

"); ?>

<?php $a[0]="ryan"; $b["value"]=785.9; $c["blue"][0]="ada"; print("$a[0]"."$b[value]".""."

"); ?>

10、試述isset()和empty()的區別

isset() 測試變數是否存在 empty() 測試變數是否為空

11、請用盡可能少的語句實現對輸入email位址進行驗證的功能

eregi('^[_a-z0-9]+(/.[_a-z0-9-]+)*@[a-z0-9]+(/.[a-z0-9-]+)*$',$emailaddress)

12、寫出乙個正規表示式,過慮網頁上的所有js/vbs指令碼(即把script標記及其內容都去掉)

/].*?>.*?/si

13、語句 include 和 require 都能把另外乙個檔案包含到當前檔案中,它們的區別是什麼?如何避免同一檔案被多次載入?

1.發生異常時include產生警告require產生致命錯誤 2.require_once()/include_once()

14、類的屬性可以序列化後儲存到 session 中,從而以後可以恢復整個類,這要用到的函式是哪些?

serialize() /unserialize()

15、寫乙個函式,能夠遍歷乙個資料夾下的所有檔案和子資料夾

/*** 遍歷目錄,結果存入陣列。支援php4及以上。php5以後可用scandir()函式代替while迴圈。

* @param string $dir

* @return array

*/function my_scandir($dir)

else }}

closedir($handle);

return $files;}}

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

/氣泡排序(陣列排序)

function bubble_sort($array)}}

return $array;

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

function quick_sort($array)

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

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

function bin_sch($array, $low, $high, $k)elseif ($k < $array[$mid])else

}return -1;

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

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

}if ($i<$n)else

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

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

$keysvalue = array();

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

if($order == 0)else

reset($keysvalue);

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

$new_array = array();

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

return $new_array;

}19、提交了乙個有8mb資料的表單,但程式只接收到4mb資料,可能的原因有哪些?

php.ini 2項設定

20、echo(),print(),print_r()的區別

echo是php語句, print和print_r是函式,語句沒有返回值,函式可以有返回值(即便沒有用) print只能列印出簡單型別變數的值(如int,string) print_r可以列印出複雜型別變數的值(如陣列,物件)

21、如何獲得訪問者ip

$_server['remote_addr'];

22、utf-8轉換成gbk的函式是?

iconv("gbk",""utf-8,"我們"); mb_convert_encoding($str, "gbk", "utf-8")

23、hp中分割字串成陣列的函式和連線數組成字串的函分別有哪些?

explode() split() ;implode() join()

24、有三個php檔案位於同一目錄下,內容為 a.php <?php function fa() ?> b.php: <?php include 『a.php』; ?> <?php function fb() ?> c.php: <?php include 『a.php』; ?> <?php include 『b.php』; ?> <?php fa(); fb(); ?> 使用瀏覽器訪問 c.php,請問是否存在問題。如果存在問題,請指出修正方法並寫出瀏覽器檢視效果如果不存在問題,請寫出瀏覽器檢視效果

開啟錯誤輸出的情況 error:function already defined 未開啟,白頁 include換成include_once

PHP基礎測試題(一)

1.echo,print printf print r var dump sprintf 區別 echo 是乙個語句,其它的是函式,echo可以輸出多個值,效率高。print 只可以輸出乙個值,print 有返回值 正常輸出返回1 riintf 是乙個格式化輸出 d f s print r 輸出陣列...

強化學習 一 基礎認知

強化學習是想讓乙個智慧型體 agent 在不同的環境狀態 state 下,學會選擇那個使得獎賞 reward 最大的動作 action agent在 t 時刻,通過觀測環境得到自己所在的狀態 state 接下來agent根據策略 policy 進行決策後,做出乙個動作 action 這個action...

一 強化學習 RL 基礎

1.初探強化學習 1.什麼是強化學習?2.強化學習可以解決什麼問題?強化學習如何解決這些問題?2.強化學習 監督學習和非監督學習1.監督學習解決的是什麼問題?監督學習如何解決這些問題?2.強化學習與監督學習的差異 3.強化學習與非監督學習的差異 3.強化學習基礎理論 3.1.強化學習模型 ta t ...