国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php面試題(1)

2019-11-08 02:00:56
字體:
來源:轉載
供稿:網友
一份不錯的php面試題,附答案,有準備換工作的同學可以參考一下.一、基礎題

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

<?php    $str1 = null;    $str2 = false;    echo $str1==$str2 ? '相等' : '不相等';    $str3 = '';    $str4 = 0;    echo $str3==$str4 ? '相等' : '不相等';    $str5 = 0;    $str6 = '0';    echo $str5===$str6 ? '相等' : '不相等';?>

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

<?php    $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. 寫出如下程序的輸出結果

<?php    $test = 'aaaaaa';    $abc = & $test;    unset($test);    echo $abc;?>

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

<?php    $count = 5;    function get_count(){        static $count = 0;        return $count++;    }    echo $count;    ++$count;    echo get_count();    echo get_count();?>5. 寫出如下程序的輸出結果

<?php    $GLOBALS['var1'] = 5;    $var2 = 1;    function get_value(){        global $var2;        $var1 = 0;        return $var2++;    }    get_value();    echo $var1;    echo $var2;?>

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

<?php    function get_arr($arr){        unset($arr[0]);    }    $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 false3. aaaaaa    參考: http://my.oschina.net/banbo/blog/303306 里面的結論二

4. 5 0 15. 5 26. 1 27. 使用五種以上方式獲取一個文件的擴展名

function get_ext1($file_name){    return strrchr($file_name, '.');}function get_ext2($file_name){    return substr($file_name, strrpos($file_name, '.'));}function get_ext3($file_name){    return array_pop(explode('.', $file_name));}function get_ext4($file_name){    return pathinfo($file_name, PATHINFO_EXTENSION);}function get_ext5($file_name){    return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));}

二、算法題1. 使用PHP描述冒泡排序和快速排序算法,對象可以是一個數組//冒泡排序(數組排序)

function bubble_sort($array){    $count = count($array);    if ($count <= 0) return false;    for($i=0; $i<$count; $i++){        for($j=$i; $j<$count-1; $j++){            if ($array[$i] > $array[$j]){                $tmp = $array[$i];                $array[$i] = $array[$j];                $array[$j] = $tmp;            }        }    }    return $array;}

//快速排序(數組排序)

function quick_sort($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 = quick_sort($left_arr);    $right_arr = quick_sort($right_arr);    return array_merge($left_arr, array($key), $right_arr);}

2. 使用PHP描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對象可以是一個有序數組//二分查找(數組里查找某個元素)

function bin_sch($array, $low, $high, $k){    if ($low <= $high){    $mid = intval(($low+$high)/2);    if ($array[$mid] == $k){    return $mid;    }elseif ($k < $array[$mid]){    return bin_sch($array, $low, $mid-1, $k);    }else{    return bin_sch($array, $mid+1, $high, $k);    }    }    return -1;}//順序查找(數組里查找某個元素)

function seq_sch($array, $n, $k){    $array[$n] = $k;    for($i=0; $i<$n; $i++){        if($array[$i]==$k){            break;        }    }    if ($i<$n){        return $i;    }else{        return -1;    }}3. 寫一個二維數組排序算法函數,能夠具有通用性,可以調用php內置函數//二維數組排序, $arr是數據,$keys是排序的健值,$order是排序規則,1是升序,0是降序

function array_sort($arr, $keys, $order=0) {    if (!is_array($arr)) {        return false;    }    $keysvalue = array();    foreach($arr as $key => $val) {        $keysvalue[$key] = $val[$keys];    }    if($order == 0){        asort($keysvalue);    }else {        arsort($keysvalue);    }    reset($keysvalue);    foreach($keysvalue as $key => $vals) {        $keysort[$key] = $key;    }    $new_array = array();    foreach($keysort as $key => $val) {        $new_array[$key] = $arr[$val];    }    return $new_array;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪泽县| 久治县| 合江县| 迁安市| 兴海县| 辽中县| 维西| 五原县| 岳池县| 德化县| 永仁县| 桐庐县| 昌都县| 阳高县| 鄂托克旗| 南皮县| 巴里| 澄城县| 洪泽县| 南木林县| 册亨县| 安阳县| 普兰店市| 宣恩县| 桃园县| 平和县| 平湖市| 绿春县| 琼结县| 赤峰市| 和平县| 丰顺县| 原阳县| 永兴县| 竹山县| 常州市| 林芝县| 蓝田县| 涞水县| 丽水市| 沂南县|