crazyren

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)

分类:

技术点:

相关文章: