php面试宝典3

来源:互联网 发布:淘宝账号查别人的信息 编辑:程序博客网 时间:2024/06/10 07:32


1.不用定义新变量直接交换现有两个变量的值

$a=7;$b=2;$a=$a+$b;$b=$a-$b;$a=$a-$b;echo $a;echo '<br/>';echo $b;

2.简述以下输出语句的区别

echo :可以同时输出多个字符串,可以多个参数,并不需要圆括号,无返回值

var_dump():打印出变量的详细信息,无返回值

print:打印简单类型变量的值,成功返回整数 1

print_r : 打印出复杂类型变量的值返回值是布尔型

die(xx):先输出内容,然后退出程序


3.打印出前一天的时间,格式如下 2017-3-17 15:46:00

echo date('Y-m-d H:i:s',strtotime('-1day'));


4.实现中文字串截取无乱码的方法

mb_substr():函数指定第四个参数字符编码


5.mysql表索引为什么使用B+树

@1.数据库数据文件很大,不可能存在内存,只能存入磁盘

@2.B+树的存储结构,索引文件中叶节点的data域存放的是数据记录地址,地址指向文件中对应的值


6.写出一个动态创建函数的范例

//方法一$func = 'test';function test(){echo 'hah';}$func();
//方法二$newfunc = create_function('$a','return $a+10;');echo $newfunc(10);


7.时间字符串转时间戳

echo strtotime('2017-03-17 21:54');


8.以时间戳形式存数据库的好处

@1. int型字段查询更快,空间相对小

@2.便于做各种运算

@3.各种平台通用


9.下面语句输出的值是什么

$a = 'a';$b = &$a;unset($b);$b = 'b';echo $a; //a
@1.unset()函数只能在变量值占用内存空间超过256字节时才会释放内存空间

@2.只有当指向该变量的所有变量(如引用变量)都被销毁后,才会释放内存

@3.unset函数只是切断了变量名与变量之间的关系。


10.将数字金额转换为大写格式

实现思路:

1.把单位和大写字符根据单位大小按照顺序存入数组

2.把数值对象格式化为标准的金额对象,循环遍历从数值的末尾开始取值

3.根据单个取出来的值,当做预定义的数组索引得到对应的单位和大写字符

function floatohz($value){      $result='';      $v_a=array('分','角','零','块','十','百','千','万','十','百','千','亿');      $v_b=array('零','一','二','三','四','五','六','七','八','九','十');      $v_c=array();      $value=(string)$value;      $value=sprintf("%0.2f",$value);      $len=strlen($value);var_dump($len);    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];  #通过数值大小,获取对应的单位与大写字符  }else{$v_c[]=$v_b[$val];
  }       }    }     $v_c=array_reverse($v_c);      foreach($v_c as $val){         $result.=$val;      }      unset($v_a);unset($v_b);unset($v_c);      return $result;  }  $va = 10305.05;var_dump(floatohz($va));












0 0
原创粉丝点击