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)

posted on 2013-04-05 13:25  神延枫  阅读(1566)  评论(0)    收藏  举报

导航