php中优化建义与优化代码

 更新时间:2016年11月25日 15:05  点击:1310
文章总结了关于php中优化建义与优化代码,给php程序员有很好的建义

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

2、$row[’id’] 的速度是$row[id]的7倍。

3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

5、注销那些不用的变量尤其是大数组,以便释放内存。

6、尽量避免使用__get,__set,__autoload。

7、require_once()代价昂贵。

8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。

9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于 time()。

10、函数代替正则表达式完成相同功能。

11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。

12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

14、用@屏蔽错误消息的做法非常低效,极其低效。

15、打开apache的mod_deflate模块,可以提高网页的浏览速度。

16、数据库连接当使用完毕时应关掉,不要用长连接。

17、错误消息代价昂贵。

18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

19、递增一个全局变量要比递增一个局部变量慢2倍。

20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

21、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。

22、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。

23、方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。

24、派生类中的方法运行起来要快于在基类中定义的同样的方法。

25、调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。

26、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。

27、除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。

28、尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。

29、当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
(举例如下)
if (strlen($foo) < 5) { echo “Foo is too short”$$ }
(与下面的技巧做比较)
if (!isset($foo{5})) { echo “Foo is too short”$$ }
调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。

34、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java 代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。

35、并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

36、并非要用类实现所有的数据结构,数组也很有用。

37、不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?

38、当你需要时,你总能把代码分解成方法。

39、尽量采用大量的PHP内置函数。

40、如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。

41、评估检验(profile)你的代码。检验器会告诉你,代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈。

42、mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。

43、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;

44、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;

45、优化 Select SQL 语句,在可能的情况下尽量少的进行 Insert、Update 操作(在 update 上,我被恶批过);

46、尽可能的使用PHP内部函数(但是我却为了找个 PHP 里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);

47、循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?)

48、多维数组尽量不要循环嵌套赋值

49、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式

50、foreach 效率更高,尽量用 foreach 代替 while 和 for 循环

51、用单引号替代双引号引用字符串

52、用i+=1代替i=i+1。符合c/c++的习惯,效率还高

53、对 global 变量,应该用完就 unset( )掉

代码优化实例


在函数中,传递数组时
使用 return 比使用 global 要高效
比如

function userloginfo($usertemp){
$detail=explode("|",$usertemp);
return $detail;
}
$login=userloginfo($userdb);

function userloginfo($usertemp){
global $detail;
$detail=explode("|",$usertemp);
}
userloginfo($userdb);

要高效

2,(这个代码用于得到程序目录对应的网址,推荐使用)

$urlarray=explode(@#/@#,$HTTP_SERVER_VARS[@#REQUEST_URI@#]);
$urlcount=count($urlarray);unset($urlarray[$urlcount-1]);
$ofstarurl=@#http://@#.$HTTP_SERVER_VARS[@#HTTP_HOST@#].implode(@#/@#,$urlarray);

这段代码比

$pre_urlarray=explode(@#/@#,$HTTP_SERVER_VARS[@#HTTP_REFERER@#]);
$pre_url=array_pop($pre_urlarray);

要高效

3,在循环中判断时,数值判断使用恒等要比等于高效
$a=2;$b=2;
比如
if($a==$b)$c=$a;

if($a===$b)$c=$a;
高效

4,mysql 查询时尽量使用where in 少用 limit
limit查多记录的前几条, 速度很快, 但是查询最面几条就会慢
使用in .在查询连续性记录,非常快, 非连续性记录第一次运行会稍微慢一点,但是之后将比较快!

5,NT服务器数据操作稳定性不及unix/linux

6,输出前使用尽量使用 ob_start(); 可以加快输出速度,适用NT或nuli/linux,对unlix类服务器 如果使用 ob_start(@#ob_gzhandler@#);输出效率将更高

7,判断的时候尽量使用if($a==他的值) 否定的时候尽量使用if(empty($a)),因为这样程序运行更快速

8,使用不等时 != 与 <> 效率相当

9,个人经验得 使用 $a="11111111111111"; 的效率和 $a=@#11111111111111@#; 相当.并不象书本说的相差很大

10,使用规范的SQL语句, 会有利于MySQL的解析

11,使用

 代码如下 复制代码

if($online){
$online1=$online;
setcookie(@#online1@#,$online,$cookietime,$ckpath,$ckdomain,$secure);
}

COOKIE将马上生效
使用

if($online)
setcookie(@#online1@#,$online,$cookietime,$ckpath,$ckdomain,$secure);


COOKIE需要再刷新一次才能生效

12,使用

 代码如下 复制代码

$handle=fopen($filename,wb);
flock($handle,LOCK_SH);
$filedata=fread($handle,filesize($filename));
fclose($handle);

file($filename);

无论在速度还是稳定上都要优秀

13,截断字符串优化函数(可避免?字符出现)

 代码如下 复制代码

function substrs($content,$length) {
if(strlen($content)>$length){
$num=0;
for($i=0;$i<$length-3;$i++) {
if(ord($content[$i])>127)$num++;
}
$num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
$content.=@# ...@#;
}
return $content;
}


比如$newarray[1]=substrs($newarray[1],25);

14,程序中屏蔽大小写

 代码如下 复制代码
for ($asc=65;$asc<=90;$asc++)
{ //strtolower() 此函数在一些服务器会产生乱码!
if (strrpos($regname,chr($asc))!==false)
{
$error="为了避免用户名混乱,用户名中禁止使用大写字母,请使用小写字母";
$reg_check=0;
}
}

15,不使用 file();和不使用 fget();(不稳定或速度慢) 取一数组函数

 代码如下 复制代码
function openfile($filename,$method="rb")
{
$handle=@fopen($filename,$method);
@flock($handle,LOCK_SH);
@$filedata=fread($handle,filesize($filename));
@fclose($handle);
$filedata=str_replace(" "," <ofstar:>",$filedata);
$filedb=explode("<ofstar:>",$filedata);
//array_pop($filedb);
$count=count($filedb);
if($filedb[$count-1]==@#){unset($filedb[$count-1]);}
return $filedb;
}

//这个函数虽然代码比较多,不过在速度和稳定性上优势很大!


实现如上数组分离代码

这样后,访问tempArray的块数据就非常方便了

 代码如下 复制代码

foreach($tempArray as $row){

  array1[$row['ID']] = $row['Key'];

  array2[$row['Key']][] = $row;

}

访问

和处理代码

 代码如下 复制代码

foreach($array1 as $ID => $Key){

  $this->doSomeThing($ID);

  //访问tempArray的块数组$array2[$Key]

  $this->doSomeThing2($array2[$Key]);

}

在 PHP 中,提供了超过 700 个内建的函数。 PHP 的函数分为用户自定义函数和系统内置函数。内置函数可以直接使用,用户自定义函数需要使用关键字 function 来定义。

自定义函数
函数(function),可以看着是为实现某个功能的独立的程序语句集合。我们将某个功能写成一个函数后,就可以在需要的地方方便的使用它。合理的使用函数,可以让我们的PHP程序更加简洁易读,更加科学。
语法

 代码如下 复制代码

function function_name(arg1,arg2,……)
{
    函数功能代码
}


创建 PHP 函数
函数是一种可以在任何被需要的时候执行的代码块。

创建 PHP 函数:
所有的函数都使用关键词 "function()" 来开始
命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
添加 "{" - 开口的花括号之后的部分是函数的代码。
插入函数代码
添加一个 "}" - 函数通过关闭花括号来结束。
函数的参数
参数的功能是传递信息到函数。
例子


现在,我们要在 PHP 脚本中使用这个函数了:

 代码如下 复制代码

<html>
<body>

<?php
function writeMyName()
  {
  echo "David Yang";
  }

echo "Hello world!<br />";
echo "My name is ";
writeMyName();
echo ".<br />That's right, ";
writeMyName();
echo " is my name.";
?>

</body>
</html>以上代码的输出:

Hello world!
My name is David Yang.
That's right, David Yang is my name.


例子:

 代码如下 复制代码

<?php
function city_name($city)
{
    echo "城市名称为:".$city;
}
city_name("shanghai");    //执行该函数,执行结果是输出“城市名称为:shanghai”字符串
?>
可以给函数的参数指定默认值,以便在没有指定参数值时,采用参数默认值。

<?php
function city_name($city = "beijing")
{
    echo "城市名称为:".$city;
}
$name = "shanghai";
city_name();    //执行结果是输出“城市名称为:beijing”
city_name($name);    //执行结果是输出“城市名称为:shanghai”
?>

这是一篇简单的php语法入门篇,有需要的朋友可参考一下。

一、双引号与单引号
变量可以在双引号中执行,但用 define 的常量在两种单、双引号中都是不可执行的:

 代码如下 复制代码

$var = 'sofish';
echo 'im $var'; // => 'im $var'
echo "im $var"; // => 'im sofish'

define('NAME', 'sofish');
echo 'im NAME'; // => 'im NAME'
echo 'im ' . NAME; // => 'im sofish'

在 JS 中引号内不可以渲染任何变量。

二、变量的定义
使用 $ 符,而不是 var 关键字;有真正的常量,用 define 函数,一经定义,一可改变。

 代码如下 复制代码

// JS 中我们用 var name = 'sofish';
$name = 'sofish';

// JS 中我们用 var NAME = sofish; 而且是可以改变的
define('NAME', 'sofish');

// 在这里会报错,因为 NAME 已经被定义,而 JS 可以随时改变
define('NAME', 'error');

三、数组
排序:

可以使用 shuffle(),在 JS 中我们通常使用 Math.random 来设定在某个范围内,访问数组的下标;如果用数字来排序,小数点会被忽略,所以如果想准确地用数字排序,把数字变成字符串,比如 1.2 应写成 '1.2'。

可以字符串当 key:

 代码如下 复制代码

$arr = array('name' => 'sofish', 'age' => '25', 'gender' => 'male');

自动增加索引值:

下面这两个数据是相同的:

 代码如下 复制代码
$arr = array('1' => 'sofish', '25', 'male')
$arr = array('1' => 'sofish', '2' => '25', '3' => 'male')

四、连字符
在 PHP 中使用 .,在 JS 中使用 +。

五、换行符
在双引号中使用 "n",'n' 是不会转成换行符的。如果你习惯使用单引号,那么可以使用 PHP_EOL:

 代码如下 复制代码

echo 'im sofish,' . PHP_EOL;
echo "25 years old, n";
echo 'male';

// 想象一下下面这一段,在 stackoverflow 最受欢迎的回答
// 个人不喜欢混用两种引号,不好看,但未必不好。lol?!
echo 'im sofish' . "n" . '25 ...'在 JS 中,两种引号内写 n 都是可行的。

六、if 语句
在 PHP 中另一个分支用 elseif 而在 JS 中使用 else if,中间有一个空格之差。

UPDATE: 2012.02.29 5:28 pm:Andor: "其实 if 分支的另一个分支用 elseif 和 else if 都是可以的"。

七、函数
在 PHP 中不可以使用 (function(){})() 这样的函数来直接运行一个匿名函数,但是可以创建一个参数有默认值的函数,如:

 代码如下 复制代码

function fn($name, $greet = 'good moring '){
    echo $greet . $name;
};

// 当不传值时显示默认值,结果 >> 'good morning sofish'

 代码如下 复制代码
fn('sofish', 'good morning ');

// 当传入值的时候替换默认值,结果 >> 'good afternoon sofish'
fn('sofish', 'good afternoon ');作用域,我还是比较喜欢 JS 中的闭包,在 PHP 中,我们来看一下下面的代码:

 代码如下 复制代码
$a = 'hello';
$b = function(){
    echo $a . ' sofish.';
};
$b();

我们的预期结果是,’hello sofish.’。不过,我里有2个 $b,结果往往另我们意外。在 PHP 中,变量不能在自定义函数内使用,函数内部也不能使用外部已定义的变量(WTF),除非使用 global 关键字。上面的函数修改如下,则可使用:

 代码如下 复制代码
$a = 'hello';
$b = function(){
    global $a;
    echo $a . ' sofish.';
};
$b();

我们通常说,要慎用全局变量。在这里就更需要了。

八、list() 函数
很有趣的函数,可以利用数组中的值给一组变量赋值。我们平时在 JS 中是这样使用一个数组的:

// 返回一个数组,然后,用 `[]` 下标来调用

 代码如下 复制代码
var cursorPos = (function(){
     // render ...
     return [posX, posY];
})();

在 PHP 中可以使用 list() 根据数组的内容给一组变量赋值,这样我们就可以用变量来变量名来访问我们要用的值,而不是使用下标:

// 用括号内的变量来访问函数 `cursorPos` 返回的值
list($posX, $posY) = cursorPos();另外,值得一提的另一个有趣函数 ———— isset(),判断一个值非 NULL。还有诸如 is_array / is_string 这样的函数,都是在 JS 中没有提供的。像类型判断,算是 JS 中的高组内容了,只有比较熟悉和有积累的程序员都知道怎么做比较合理。

在php生成随机数有很多种方法rand()只是其实一种还有mt_rand()这个函数也可以生成,区别我就不说了下面来看看。

rand() 函数返回随机整数。

语法
rand(min,max)参数 描述
min,max 可选。规定随机数产生的范围。

如果没有提供可选参数 minmax,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。

在PHP中,要生成一个随机数,可以经过如下三个步骤:

 代码如下 复制代码
//第一步:初始化种子
$seedarray =microtime();
$seedstr =split(" ",$seedarray,5);
$seed =$seedstr[0]*1000000;

 
//第二步:使用种子初始化随机数发生器

 代码如下 复制代码
srand($seed);

 
//第三步:生成指定范围内的随机数

 代码如下 复制代码
$random =rand(0,1000);

其中,前面两步都不需要进行修改,就是最后一步,(0,1000)表示在0到1000中产生一个随机数(包括0在内),这个范围可以修改成你自己需要的范围。

还有一种生成随机数的更加简化的代码:

 代码如下 复制代码

srand((double)microtime()*1000000);
$random =rand(0,1000);

其中,microtime()返回了两个值:当前毫秒数和时间戳。由于我们只是要提取随机数,因而利用毫秒数即可。(double)microtime()的意思就是只返回当前的毫秒值。microtime()是以秒为单位的毫秒数,因而值都是小数,乘以1000000将其换算为整数。第二句代码表示在0到1000中生成一个随机数。

提示和注释
注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。

注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。

下面来介绍一下date_default_timezone_set设置中国时区方法,函数简单好用有需要的朋友可参考一下。

date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区。


语法

bool date_default_timezone_set ( string $timezone_identifier )


参数           描述
timezone    必需。时区标识符,比如 "UTC" 或 "Europe/Paris"。


说明
注释:自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息,如果使用系统设定或 TZ 环境变量则还会产生 E_STRICT 级别的信息。

设置中国时区

 代码如下 复制代码
date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”


注:以上3种方法,任意一个都可以满足我们需求。

 

[!--infotagslink--]

相关文章

  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • Mysql效率优化定位较低sql的两种方式

    关于mysql效率优化一般通过以下两种方式定位执行效率较低的sql语句。通过慢查询日志定位那些执行效率较低的 SQL 语句,用 --log-slow-queries[=file_name] 选项启动时, mysqld 会 写一个包含所有执行时间超过 long_quer...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • MySQL针对Discuz论坛程序的基本优化教程

    过了这么久,discuz论坛的问题还是困扰着很多网友,其实从各论坛里看到的问题总结出来,很关键的一点都是因为没有将数据表引擎转成InnoDB导致的,discuz在并发稍微高一点的环境下就表现的非常糟糕,产生大量的锁等待,这时候如果...2015-11-24
  • Android用MemoryFile文件类读写进行性能优化

    java开发的Android应用,性能一直是一个大问题,,或许是Java语言本身比较消耗内存。本文我们来谈谈Android 性能优化之MemoryFile文件读写。 Android匿名共享内存对外A...2016-09-20
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • 101个MySQL的配置和优化以及备份的经验提示

    MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化 MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把...2013-09-11
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07
  • Angular性能优化之第三方组件和懒加载技术

    这篇文章主要介绍了Angular性能优化之第三方组件和懒加载技术,对性能优化感兴趣的同学,可以参考下...2021-05-11