您的位置:首页 > 职场人生

php高级程序员面试题

2014-04-01 17:38 267 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: