1.禁用COOKIE 後 SEESION 還能用嗎?
可以通過url get方式使用
2.抓取遠程圖片到本地,你會用什麼函數?
file_get_contents 或者 curl
3.簡述POST 和GET傳輸的最大容量分別是多少?
POST 根據你php.ini文件配置(默認是8M) GET的話 大小限制在2KB
4.用最少的代碼寫一個求3值最大值的函數.
a ,$b $c);
5.用PHP打印出前一天的時間,打印格式是2019年7月18日 21:17:21
echo date(‘Y-m-d H:i:s’, strtotime(’-1 day’));
6.PHP代碼如下:
$a=“hello”;
KaTeX parse error: Expected 'EOF', got '&' at position 3: b=&̲a;
unset($b);
$b=“world”;
echo $a;
其結果是
hello
7.PHP代碼如下:
str=“landog”;
$$str.=“ok”;
echo a、a、$b的初始值自己定。
$a = "abcd";
$b = "1234";
echo "初始化時 a=$a,b=$b<br>";
$a = $a . $b;
$b = strlen( $b );
$b = substr( $a, 0, (strlen($a) - $b ) );
$a = substr( $a, strlen($b) );
echo "交換後 a=$a,b=$b<br>";
9. javascript能否定義二維數組,如果不能你如何解決?
arr[0] = new array()
10. 假設a.html和b.html在同一個文件夾下面,用javascript實現當打開a.html五秒鐘後,自動跳轉到b.html。
<script>
function go2b(){
window.location = "b.html";
window.close();
}
setTimeout( "go2b()",5000 ); //5秒鐘後自動執行go2b()
</script>
11. 利用CSS樣式表定義已訪問的超鏈接字體大小爲14pt,顏色爲red。
a:visited { font-size: 14pt; color: red; }
12. 寫一個排序算法,可以是冒泡排序或者是快速排序,假設待排序對象是一個維數組。(提示:不能使用系統已有函數,另外請仔細回憶以前學習過的基礎知識)
//冒泡排序(數組排序)
function bubble_sort($array)
{
$count = count($array);
if ($count <= 0) return false;
for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$i; $j--){
if ($array[$j] < $array[$j-1]){
$tmp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $tmp;
}
}
}
return $array;
}
//快速排序(數組排序)
function quicksort($array) {
if (count($array) <= 1) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i<count($array); $i++){
if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quicksort($left_arr);
$right_arr = quicksort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
13.實現一個字符串截取的函數,類似於substr,必須能夠截取中文這種多字節編碼。假設每個中文也是一個字符,普通的數字、符號、字母也是一個字符。(提示:GB編碼的中文字符高位範圍是 0x81-0xFE )
/**
- 截取字符串子串 (1)(GBK)
- @param string $str 原始字符串
- @param int $len 需要截取字符串的長度
- @return string 返回截取到的字符串
*/
unction GBSubstr($str, $len){
$count = 0;
for($i=0; $i<strlen($str); $i++){
if($count == $len) break;
if(preg_match("/[\x80-\xff]/", substr($str, $i, 1))) ++$i;
++$count;
}
return substr($str, 0, $i);
}
/**
- 截取字符串子串函數(2)(GB)
- @param string $src 源字符串
- @param int $start 開始截取的位置
- @param int $length 需要截取字符串的長度
- @return string 返回截取的字符串
*/
function GBSubstr2($src, $start=0, $length=0){
$suffix="";
$len = strlen($src);
if ( $len <= $length ) return $src;
$cut_length = 0;
for( $idx = 0; $idx<$length; $idx++){
$char_value = ord($src[$idx]);
if ( $char_value < 0x80 || ( $char_value & 0x40 ) )
$cut_length++;
else
$cut_length = $cut_length + 3;
}
$curstr = substr($src, 0, $cut_length) ;
preg_match('/^([\x00-\x7f]|.{3})*/', $curstr, $result);
return $result[0];
}
/**
- 中文字符串截取(3)(支持GB2312/GBK/UTF-8/BIG5)
- @param string $str 要截取的字串
- @param int $start 截取起始位置
- @param int $length 截取長度
- @param string $charset 字符串的字符集,包括有 utf-8|gb2312|gbk|big5 編碼
- @param bool $suffix 是否加尾綴
- @return string 返回接續字符串的結果
*/
function CSubstr($str, $start=0, $length, $charset="gbk", $suffix=false){
if(function_exists("mb_substr")){
return mb_substr($str, $start, $length, $charset);
}
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("", array_slice($match[0], $start, $length));
if($suffix) {
return $slice ."…";
}
return $slice;
}
13.寫出匹配郵箱地址和URL的兩個正則表達式。類似下面的:
郵箱地址:[email protected]
URL地址:http://www.example.com.cn/user_profile.php?uid=100
(提示:使用標準的正則表達式,就是PHP中preg_* 類的正則處理函數能夠解析的正則)
郵箱:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
URL:/^http:\/\/[\w]+\.[\w]+[\S]*/
14.寫一個遍歷指定目錄下所有子目錄和子文件的函數(提示:可以使用遞歸的方法)
/**
- 遞歸的遍歷一個指定目錄
*/
function dir_all ( $path ) {
$handler = opendir($path);
while (false!==($tmp = readdir($handler))) {
if(is_dir( "$path/$tmp" )) {
if ($tmp=="." | $tmp=="..") continue;
echo $tmp."<br>\n";
dir_all ("$path/$tmp");
} else {
echo $tmp ."<br>\n";
}
}
}
15.MySQL數據庫中的字段類型varchar和char的主要區別是什麼?那種字段的查找效率要高,爲什麼?
Varchar是變長,節省存儲空間,char是固定長度。查找效率要char型快,因爲varchar是非定長,必須先查找長度,然後進行數據的提取,比char定長類型多了一個步驟,所以效率低一些。