优化总结 待完善...

sql优化

1.变量在外部解析通常要比在sql内部解析要快

$name = 1;
$sql = "SELECT * FROM user WHERE name = '$name'"; $sql = 'SELECT * FROM user WHERE name = \''.$name.'\'';

字符串优化

1.包裹字符串单引号与双引号的区别

  通常来说,单引号是不解析变量的,而双引号是解析变量的,但是对于我们平常对字符串的应用来说,单引号和双引号是没什么区别的,其实不是,服务器在解析字符串的时候,单引号的字符串通常解析的要比双引号的字符串要快,因为双引号需要读取判断字符串内是否存在着变量,而单引号则直接输出

 
 
//不判断直接输出
$a = 'a$aa';   

$a 值为 a$aa;


//判断是否存在变量解析再输出
$b = "bbb'{$a}'b";  

$b 值为 bbb'a$aa'b;

$c = "c$a c";

$c 值为 ca$aac;

3. 多个else if优化

一般来说,在进行逻辑运算的时候,经常会进行大量的判断,从而会写出很多if(){}else if(){}else if......,非常的折磨人

经过多次折磨,个人总结出两种优化的方法

1.  if判断有一个不可忽视的特点,就是当条件一个条件成立时,下面的判断将不会进行下去,所以说,我们可以把判断成功概率高的数据放再上面,尽量让其不用执行太多的判断.

2.  switch...case...  ,相信这个判断大家都用过或看过,switch..case最大的特点就是效率,因为switch...case会直接生成跳转表,拿到值直接跳转到对应的case,适合执行多重循环判断,但是switch...case也有一个缺陷,就是判断的数据仅限于(整形、浮点型或字符串)

$c = c; 
switch ($c)
{
case a:
    //如果 $c=a,此处代码将执行;
    echo '$c等于a';
    break;
case b:
    //如果 $c=b,此处代码将执行;
    echo '$c等于b';
    break; default: //如果 $c 既不等于 a 也不等于 b,此处代码将执行; echo '$c不等于a也不等于b'; }

猜你喜欢

转载自www.cnblogs.com/junyi-bk/p/11083918.html