1. 首頁
  2. 面試

php高階程式設計師面試題

php高階程式設計師面試題推薦

1、 php中單引號和雙引號的區別,哪個速度更快?為什麼?(考php基本功)

單引號更快

1. 在php中,單引號內的資料不會被解析(任何變數和特殊跳脫字元),所以速度更快,而雙引號內的資料會被解析,如變數($var)值會代入字串中,特殊跳脫字元也會被解析成特定的單個字,

2. 陣列中,如果下標不是整型,而是字串型別,請務必用單引號將下標括起,正確的寫法為$array[‘key’],而不是$array[key],因為不 正確的.寫法會使PHP解析器認為key是一個常量,進而先判斷常量是否存在,不存在時才以“key”作為下標帶入表示式中,同時出發錯誤事件,產生一條 Notice級錯誤。

2、不用新變數直接交換現有兩個變理的值. (考php基本功)

$ a = 1;

$b = 2;

$a = explode(‘-’,$a.’-’.$b);

$b =$a[0];

$a = $a[1];

3、PHP數字金額轉大小格式,同時說明思路 (考陣列掌握)

function floatohz($value){

$result=;

$v_a=array(分,角,零,塊,十,,百,千,萬,十,百,千,億);

$v_b=array(零,一,二,三,四,五,六,七,八,九,十);

$v_c=array();

$value=(string)$value;

$value=sprintf("%0.2f",$value);

$len=strlen($value);

for($i=$len;$i>=0;$i--){

$val=$value[$i];//$VALUE 不是陣列

if($val!=.){

if($val!=0)

$v_c[]=$v_b[$val].$v_a[$len-$i-1];

}

}

$v_c=array_reverse($v_c);

foreach($v_c as $val){

$result.=$val;

}

unset($v_a);unset($v_b);unset($v_c);

return $result;

}

// $value=45123056.78;

$value=23058.54;

print floatohz($value);

4、SQL查詢語句如下:

select * from table where (ID = 10) or (ID = 32) or (ID = 22) or (ID = 76) or (ID = 13) or (ID = 44)

讓結果按10,32,22,76,13,44的順序檢索出來,請問如何書寫? (sql能力)

select * from table where (ID = 10) or (ID = 32) or (ID = 22) or (ID = 76) or (ID = 13) or (ID = 44)order by field(ID,10,32,22,76,13,44)