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)